SQL Server链接服务器上的资源限制

问题描述:

我经常在使用openquery通过链接服务器读取的存储过程上收到错误。SQL Server链接服务器上的资源限制

OLE DB提供程序 “SQLNCLI11” 链接服务器 “BrackleyICS” 报告错误。执行由供应商终止,因为已达到资源限制 。

这通常会在10.01分钟发生。这意味着超时设置,但在其他情况下,它将运行良好,需要35分钟才能完成。

有没有人遇到过这个?

+0

更多信息也许登录超时一个时间,不要等时间,这可能会帮助:https://support.microsoft.com/en-ie/help/314530/error-message-when-你执行一个链接服务器查询在SQL服务器超时过期 – PawelCz

+0

采取从上面的链接,默认情况下,在Microsoft SQL Server 7.0中,超时设置为零(0 - 无限等待)。默认情况下,在SQL Server 2000和SQL Server 2005中,超时设置为600(10分钟)。 – PawelCz

您可以通过检查你当前超时设置:

查询超时

右键单击服务器>属性>连接>远程查询超时

登录超时

右键单击版本>属性>高级>远程登录Timout

我觉得你的登录超时设置为10分钟,你需要30秒,变化值以下运行脚本需要一个

sp_configure 'remote login timeout', 30 
go 
reconfigure with override 
go 

原因增加此为什么它不是每次都超时: 不确定,但如果用户ID登录到服务器,则超时不会发生。

+0

我确实认为它与此有关,我只是困惑它为什么有时超时和其他时间没有。 因此,服务器A通过OpenQuery连接到服务器B,有时会超时,而其他时间则不会。服务器A也使用OpenQuery连接到服务器C,并且这个过程不会超时,但需要更长的时间。 – Jay1b

+0

@ Jay1b,比较服务器B和服务器C的设置,也许你会发现一些差异 – PawelCz

+0

没有明显的设置差异可能会影响这一点。不用说SQL Server是如此之大,我不能说所有的设置都是一样的。将此超时时间从600更改为300意味着它将在5分钟内超时,而不是按预期时间。我试着用这个设定的几次运行到一个小时(3600),当它偶尔工作时很难确认成功。 – Jay1b

链接服务器在链接服务器 - >属性 - >服务器选项中也有自己的查询超时设置。它很可能被设置为0 - 这是默认值。

在这种情况下,它使用查询等待高级服务器设置 - 再次 - 最可能设置为-1(默认值)。

在这种情况下,每个查询决定超时,并将其计算为估计查询成本的25倍。在MSDN