假设我有
[DataBase1].[dbo].[MyStoredProc]
。它修改 [DataBase1].[dbo].[HarmlessTable]
和 [DataBase2].[dbo].[DangerousTable]
。请注意,它们不在同一个数据库中。考虑一个用户拥有 [DataBase1]
中的所有相关权限,但在 [DataBase2]
中完全没有权限。
如果我将
WITH EXECUTE AS OWNER
放入 [DataBase1].[dbo].[MyStoredProc]
,他们是否能够运行该存储过程并编辑 [DataBase2].[dbo].[DangerousTable]
?