【发布时间】:2016-01-29 22:38:32
【问题描述】:
从link 中,我注意到授予应用程序用户对存储过程的“执行”权限就足够了。
但是当程序从不同的数据库中访问对象时它不会起作用。
我们可以想到两种可能的解决方案,包括为每个数据库创建一个 SQL 登录名并分配最小权限集,以及
- 在实际访问其他数据库中的对象(可能是存储过程、表、视图等)之前使用execute as 'user'。 (即访问 Records 数据库之前的 RecordsUser)
- 为每个数据库创建一个链接服务器,并在所需过程中引用该链接服务器。
除了这些,还有其他更好的解决方案吗?
【问题讨论】:
标签: sql-server stored-procedures permissions sql-server-2012