2

对于链接服务器,我了解如何更改“远程查询超时”配置以提示对链接服务器的调用应在特定超时值内完成或回滚。这似乎适用于 SQL Server 引擎——是否可以在存储过程中更改提示,以便特定存储过程在需要时可以运行更长时间,但如果所有其他非提示 SPROC 运行时间较长,它们会更快超时?

链接查询超时在这里讨论:http: //support.microsoft.com/kb/314530

将其设置为在 3 秒内超时的示例代码如下:

sp_configure 'remote query timeout', 3       
go 
reconfigure with override 
go
4

1 回答 1

5

不建议在存储过程中更改它。 使用 更改时remote query timeout是全局服务器设置sp_configure,因此在存储过程中更改它会影响服务器上所有链接服务器的所有远程查询。

此外,执行sp_configure需要ALTER SETTINGS服务器权限,通常只有sysadmin并且serveradmin具有。将这些权限授予数据访问帐户将是一个安全问题,因为它们可能会通过sp_configure命令关闭您的服务器。

我的建议是创建一个具有不同名称的第二个链接服务器,您将只使用这个存储过程。您可以在 SSMS 中为每个单独的链接服务器配置查询超时。添加第二个链接服务器将使您能够使用不同的链接服务器客户端设置查询同一服务器。如果您使用普通的 SQL Server 链接服务器,则可能需要创建 DNS CNAME 来完成此操作。

于 2012-12-20T03:45:43.673 回答