sql-server - 通过同义词访问时的安全上下文问题

标签 sql-server rights

服务器上有一个用户和两个数据库(db1 和db2)。 用户可以连接到具有默认数据库 db1 的服务器,他可以在其中执行 sp。 在 sp 语法中,我们使用 dbo 方案下的 db2 表的同义词。

所有这些都是为了让用户只需连接并执行一个存储过程。它工作正常,但现在服务器主体“用户”无法在当前安全上下文下访问数据库“db2”

当代码不涉及 db2 的同义词时,用户从 sp 获得输出。 应该更新什么?我不能将 db2 对象的选择授予用户。

enter image description here

最佳答案

我知道这个问题很老了,但仍然相关

  • 过程必须对同义词对象有权限
  • 过程必须对同义词所指向的对象有权限
  • 你必须正确设置trustworthy数据库属性

默认情况下,该过程在调用者帐户下执行,但可以使用 execute as 进行更改。条款。

关于sql-server - 通过同义词访问时的安全上下文问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5754448/

相关文章:

c# - 如何允许来自 c# Textbox 的 SQL 中带有空格的文本

mysql - 比较数据库技术

mysql - phpmyadmin - 更改用户的导出权限

python - Windows、Python : time. sleep() 权限错误

java - 如何编写 SQL 查询以使用 IN 子句获取第一条记录(最新)?

sql-server - 临时表 - 允许的最大行值数为 1000

spring - 定义具有继承权限的用户角色

Mongodb Admin 无法在另一个数据库中运行命令(错误代码 13)

sql-server - SQL数据库表批量更新的陷阱,在vb.net中使用临时表和批量复制