Tsql ServiceBroker交叉数据库功能

Tsql ServiceBroker交叉数据库功能,tsql,service-broker,Tsql,Service Broker,我有以下设置:我在数据库“DB_a”上有一个服务代理。我调用存储的proc(SP_ADDINTOBROKER),它在管道中添加新行。在管道中添加一行的同时,调用另一个存储过程来检索该值(SP_GETFROMBROKER) 在这个存储过程中,我调用了一个从“DB_B”中检索值的函数 因此,我执行主存储过程(SP_ADDINTOBROKER),它调用SP_GETFROMBROKER。在SP_GETFROMBROKER中,我调用了一个调用DB_B的函数。我得到以下错误: 服务器主体“xxxxxx”无法

我有以下设置:我在数据库“DB_a”上有一个服务代理。我调用存储的proc(SP_ADDINTOBROKER),它在管道中添加新行。在管道中添加一行的同时,调用另一个存储过程来检索该值(SP_GETFROMBROKER)

在这个存储过程中,我调用了一个从“DB_B”中检索值的函数

因此,我执行主存储过程(SP_ADDINTOBROKER),它调用SP_GETFROMBROKER。在SP_GETFROMBROKER中,我调用了一个调用DB_B的函数。我得到以下错误:

服务器主体“xxxxxx”无法在当前安全上下文下访问数据库“DB_B”

xxxxxx是在代理队列中定义的用户。xxxxxx也是windows用户

据我所知,这似乎是一个跨数据库的问题。有人有主意吗


向你问好,杰彭

谢谢。已经尝试过了,但是由于数据库模型的限制,它不起作用。值得信赖的问题也没有解决。谢谢