【发布时间】:2017-08-12 10:37:59
【问题描述】:
我认为这是不可能的,但我希望我遗漏了一些东西。假设我在 SQL Server 2012 SP3 中有这个存储过程:
CREATE PROCEDURE [dbo].[myproc]
AS
SELECT * FROM [dbo].[mytable]
我想授予数据库主体执行[myproc] 的权限,而不授予SELECT 对基础表的权限。
我尝试了各种GRANT 语句,但都没有运气。当我执行myproc 时,我仍然得到错误
在 mytable 上选择权限被拒绝
数据库主体不是数据库所有者,我不想让他成为数据库所有者。
我正在尝试做的事情可能吗?
谢谢。
【问题讨论】:
-
问题是:谁拥有表,谁拥有程序?如果两者不同,您可能正在与所有权链接发生冲突。
标签: sql-server stored-procedures sql-server-2012 permissions