我在同一台服务器上有 2 个数据库。DB-A 和 DB-B。DB-B 有一个对数据库 B 具有读写访问权限的用户。我想授予 DB-B 中的用户对数据库 A 中的 2 个存储过程的执行权限。当数据库位于单独的服务器上时,我能够做到这一点通过设置链接服务器并映射链接登录。当数据库在同一台服务器上时,我遇到了麻烦。有人可以告诉我如何完成这项任务。
谢谢,詹姆斯
我在同一台服务器上有 2 个数据库。DB-A 和 DB-B。DB-B 有一个对数据库 B 具有读写访问权限的用户。我想授予 DB-B 中的用户对数据库 A 中的 2 个存储过程的执行权限。当数据库位于单独的服务器上时,我能够做到这一点通过设置链接服务器并映射链接登录。当数据库在同一台服务器上时,我遇到了麻烦。有人可以告诉我如何完成这项任务。
谢谢,詹姆斯
您不需要创建链接登录或类似的东西。对于本地数据库,您只需将用户从登录名添加到 DB_A,然后将 exec 授予这两个过程。第一的:
现在创建三个程序。对于前两个,给 DBB_Owner 明确的 exec 权限,并且不允许他们对第三个有任何权限。
DBB_Owner
现在使用密码连接服务器foo
,并尝试执行三个过程:结果: