我在同一个Server上有两个数据库:
数据库A
数据库B
我希望授予user1对数据库的访问权限,但只能通过对sprocs的执行权限进行访问。
我不想授予select权限,因为这破坏了“只通过sprocs访问数据库”的安全模型。
发布于 2010-10-28 15:34:36
您可能需要为这两个数据库启用跨数据库所有权链。
要查看是否启用了它:
select name, is_db_chaining_on
from sys.databases若要启用设置,请执行以下操作:
EXEC sp_dboption 'DatabaseA', 'db_chaining', 'true';
GO
EXEC sp_dboption 'DatabaseB', 'db_chaining', 'true';
GO发布于 2013-09-17 16:45:22
我确实遇到了这个问题,但在我的例子中,解决方案是更新这两个数据库,使其具有相同的所有者。
如果数据库由同一个所有者拥有,则不需要显式打开所有权链接(因为所有者是同一个所有者)。
关于这方面的伟大文章: http://www.sommarskog.se/grantperm.html
对于最近的版本,您可以使用sp_changedbowner或"ALTER授权“语句更新数据库的所有权。
https://stackoverflow.com/questions/4044295
复制相似问题