使用exec创建proc作为' dbo'没有跨越数据库工作?

时间:2018-04-11 15:58:51

标签: sql-server

有一个存储过程

use db1
go
create proc SP1
-- with execute as 'dbo'
as
-- complex code omitted for the question
exec db2.SP2
-- calls other stored procs of other databases too

UserA仅拥有exec db1.dbo.SP1的权限,并且收到exec db2.SP2无权限的错误,并收到以下错误。

  

服务器主体" Domain \ UserA"无法访问数据库" db2"在当前的安全背景下。

我取消注释了行-- with execute as 'dbo',错误消息更改为

  

服务器主体"域\ DBA"无法访问数据库" db2"在当前的安全背景下。

DBA是系统管理员,它与dbo关联。它应该拥有所有权限?

0 个答案:

没有答案