有一个存储过程
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
关联。它应该拥有所有权限?