Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 包含来自链接服务器的查询的SQL Server存储过程在查询窗口中运行,但不通过Service Broker队列运行_Sql Server_Stored Procedures_Linked Server_Service Broker - Fatal编程技术网

Sql server 包含来自链接服务器的查询的SQL Server存储过程在查询窗口中运行,但不通过Service Broker队列运行

Sql server 包含来自链接服务器的查询的SQL Server存储过程在查询窗口中运行,但不通过Service Broker队列运行,sql-server,stored-procedures,linked-server,service-broker,Sql Server,Stored Procedures,Linked Server,Service Broker,我有一个存储过程,可以对链接服务器运行简单的select查询,该服务器在查询编辑器中运行良好。我需要这个过程每5秒运行一次,并且已经成功地遵循了re的优秀帖子,并且他的示例过程运行良好 但是,当尝试运行包含链接服务器查询的存储过程时,它会失败并出现错误 对远程服务器的访问被拒绝,因为当前安全上下文不受信任 我使用“作为所有者执行”进行激活。远程(链接)服务器使用Windows身份验证模式,并且位于同一域中。我用来登录本地SQL Server的Windows帐户在远程服务器上也有权限。我不明白为什

我有一个存储过程,可以对链接服务器运行简单的select查询,该服务器在查询编辑器中运行良好。我需要这个过程每5秒运行一次,并且已经成功地遵循了re的优秀帖子,并且他的示例过程运行良好

但是,当尝试运行包含链接服务器查询的存储过程时,它会失败并出现错误

对远程服务器的访问被拒绝,因为当前安全上下文不受信任

我使用“作为所有者执行”进行激活。远程(链接)服务器使用Windows身份验证模式,并且位于同一域中。我用来登录本地SQL Server的Windows帐户在远程服务器上也有权限。我不明白为什么存储过程在查询编辑器中工作,而在通过激活调用时不工作


我缺少什么?

要进行故障排除,请尝试在用户数据库中打开Trustly。什么是链接服务器安全配置?链接服务器使用Windows身份验证。启用Trustly将导致另一条错误消息:“如果没有模拟登录的映射,则无法在模拟下使用链接服务器”。我已尝试使用模拟将本地SQL windows登录帐户映射到远程服务器上具有该服务器登录权限的windows帐户。但是,链接服务器上的windows帐户身份验证失败。它们可以很好地连接到SSMS中的链接服务器数据库引擎。
executeasowner
模式将安全上下文切换到队列所属架构的所有者。如果它是
dbo
,则它是拥有数据库的登录名,因此请检查数据库所有者。对于
sa
,这将是运行SQL Server实例的用户帐户。无论如何,您可能需要在AD中为该用户/组设置其他权限以允许模拟。