我有一个场景,我需要允许一个数据库中的用户访问 SAME SQL 服务器上另一个数据库中的对象。
SQL SERVER SETUP:
我有一个 SQL Server 2008 Express 实例正在运行。
在那个实例中,我有以下内容:
2个数据库:
DATABASE1
DATABASE2
2 次登录:
ADMIN1
ADMIN2
DATABASE1 有一个在 ADMIN1 上创建的用户 ( USER1 ),并且对 DATABASE1 中的存储过程具有 SELECT、UPDATE、DELETE、INSERT 和 GRANT EXECUTE 权限
DATABASE2 有一个在 ADMIN2 上创建的用户 ( USER2 ),并且对 DATABASE2 中的存储过程具有 SELECT、UPDATE、DELETE、INSERT 和 GRANT EXECUTE 权限
问题:
我需要的是允许 'USER1' SELECT/EXECUTE 对 DATABASE2 中的表和存储过程的权限
我从几篇文章中尝试了一些 SQL 片段,但我不知道如何编写 SQL。我还尝试通过在 Management Studio 中右键单击用户和登录名来勾选权限复选框,但我需要在我的脚本中执行 SQL。
我的问题的原因
我在 DATABASE1 和 DATABASE2 中有相关的表,但显然我们不能在不同的数据库中创建外键约束。我们认为处理这两个表之间关系的最好方法是在 DATABASE1 中创建一个存储过程来查询 DATABASE2 中的相关表并返回结果。
很抱歉无法发布任何示例,因为我无法通过搜索找到与我上面描述的场景相匹配的任何示例。如果我可以提供任何进一步的信息,请告诉我。
非常感谢凯夫