如何将 sql 权限授予与 dbo 不同的架构中的对象?
How do I grant sql permission to an object in a different schema as dbo?
这个
GRANT EXECUTE ON OBJECT::[test].[someTable] TO [MyUser] AS [dbo];
因错误而失败
Msg 15151, Level 16, State 1, Line 1
Cannot find the object 'someTable', because it does not exist or you do not have permission.
如果我删除 AS [dbo] 部分,它就可以正常工作。有人可以解释这是为什么以及删除 as dbo 部分的含义吗?
这适用于 SQL Server 2012
AS with GRANT - 指定一个主体,执行此查询的主体从中获得授予权限的权利(来自 MSDN)。
所以这意味着 [dbo]
没有在 SCHEMA [test]
上 GRANT 某些东西的权限。我认为您应该 运行 在查询之前这样做:
GRANT EXECUTE ON SCHEMA::[test] TO [dbo] WITH GRANT OPTION;
这个
GRANT EXECUTE ON OBJECT::[test].[someTable] TO [MyUser] AS [dbo];
因错误而失败
Msg 15151, Level 16, State 1, Line 1
Cannot find the object 'someTable', because it does not exist or you do not have permission.
如果我删除 AS [dbo] 部分,它就可以正常工作。有人可以解释这是为什么以及删除 as dbo 部分的含义吗?
这适用于 SQL Server 2012
AS with GRANT - 指定一个主体,执行此查询的主体从中获得授予权限的权利(来自 MSDN)。
所以这意味着 [dbo]
没有在 SCHEMA [test]
上 GRANT 某些东西的权限。我认为您应该 运行 在查询之前这样做:
GRANT EXECUTE ON SCHEMA::[test] TO [dbo] WITH GRANT OPTION;