通过同义词访问时的安全上下文问题
服务器上有一个用户和两个数据库(db1 和 db2)。 用户可以连接到具有默认数据库 db1 的服务器,他可以在其中执行 sp。 在 sp 语法中,我们使用 dbo 方案下的 db2 表的同义词。
完成所有这一切都是为了允许用户仅连接并执行一个存储过程。它可以正常工作,但现在服务器主体“用户”无法在当前安全上下文下访问数据库“db2”
。
当代码不触及 db2 的同义词时,用户从 sp 获取输出。 应该更新什么?我无法向用户授予 db2 对象的选择权限。
There is a user and two databases on server (db1 and db2).
User can connect to server having default database db1 where he can exec sp.
In sp syntax we use synonyms for db2 tables under dbo scheme.
All that is done in order to allow user just connect and exec one stored procedure. It worked noraml but now The server principal "user" is not able to access the database "db2" under the current security context
.
User gets output from sp when code does not touch synonyms to db2.
What should be updated? I cant grant select to user for db2 objects.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我知道这个问题很旧,但仍然相关
默认情况下,该过程在调用者帐户,但可以使用 执行为子句。
I know the question is old, but still relevant
By default, the procedure executes under the caller account, but it can be changed with execute as clause.