【发布时间】:2013-09-18 00:45:22
【问题描述】:
我在同一个 SQL Server 上有两个数据库:
数据库A
- 表 1
- 表2
- sproc x
数据库B
- 表 3
- 表 4
- sproc y
- sproc z
我想授予 user1 对数据库的访问权限,但只能通过存储过程的 EXECUTE 权限。
- sproc x 在表 1 和 2,user1可以执行。
- sproc y 在表 3 之间进行连接 & 4,user1可以执行。
- sproc z 在表 1 之间进行连接 & 4、user1无法执行, 除非我授予 SELECT 权限 表 1. 为什么会这样?
我不想授予select权限,因为这打破了“只通过sprocs访问数据库”的安全模型
【问题讨论】:
标签: sql-server