当前位置:Gxlcms >
数据库问题 >
sql server service broker中调用存储过程执行跨库操作,不管怎么设置都一直提示 服务器主体 "sa" 无法在当前安全上下文下访问数据库 "dbname"。
sql server service broker中调用存储过程执行跨库操作,不管怎么设置都一直提示 服务器主体 "sa" 无法在当前安全上下文下访问数据库 "dbname"。
时间:2021-07-01 10:21:17
帮助过:3人阅读
database test1
create database test2
use test2
create table t_1 (id
int ,ddate date )
insert into t_1 (id,ddate)
values(
1,
GETDATE())
use test1
create proc p_test
WITH EXECUTE AS OWNER
as
begin
select GETDATE()
select * from test2..t_1
end
exec p_test
ALTER DATABASE test1
SET TRUSTWORTHY
on
ALTER DATABASE test2
SET TRUSTWORTHY
ON
两个库都 SET TRUSTWORTHY on 却可以了。。。。。。折腾了一天时间。。。。。。。。。。
EXECUTE AS OWNER 设置会话的执行上下文。队列里去不掉,要解决有两个方法 ,上面是方法其一,其二是用证书。。。。。。。
sql server service broker中调用存储过程执行跨库操作,不管怎么设置都一直提示 服务器主体 "sa" 无法在当前安全上下文下访问数据库 "dbname"。
标签: