远程删除不一致地达到资源限制/超时

时间:2019-06-17 13:59:33

标签: sql sql-server timeout sql-server-2014

我的SQL Agent作业每天凌晨4点运行。它有10个步骤。

最近几周,它每周在步骤3上几次失败,并出现此错误。

  

链接服务器“ RemoteServerName”的OLE DB提供程序“ SQLNCLI11”   报告了一个错误。

     

供应商终止执行,因为   达到资源限制。 [SQLSTATE 42000](错误7399)

     

无法从OLE DB提供程序“ SQLNCLI11”获取链接服务器的行集   “ RemoteServerName”。 。 [SQLSTATE 42000](错误7421)

     

链接服务器“ RemoteServerName”的OLE DB提供程序“ SQLNCLI11”返回消息“查询   超时到期”。[SQLSTATE 01000](错误7412)。该步骤失败。

  • 第3步成功后,持续时间在1到7分钟之间。

  • 第3步失败时,持续时间为12-15分钟。

  • 两个SQL Server的“远程查询超时”都设置为600秒(10分钟)。

奇怪的是,步骤3的全部只是一个简单的DELETE语句。

DELETE FROM [RemoteServerName].DbNameHere.dbo.CompanyProductLink_Copy
  1. 如果将超时设置为10分钟,并且错误显示“查询超时已过期”,为什么步长在12到15分钟之间变化?

  2. 是否有更有效的方法从远程表中删除〜1,000,000条记录?

我可以很容易地增加超时时间...我只是想了解

在分配了24GB RAM的SSD上运行SQL Server v12。

1 个答案:

答案 0 :(得分:2)

删除表可能需要一些时间。假设您没有触发器或级联的外键引用,请改用truncate table

TRUNCATE TABLE [RemoteServerName].DbNameHere.dbo.CompanyProductLink_Copy;

这应该比DELETE快得多。