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



我的 SQL 代理作业每天早上 4 点运行。 它有 10 个步骤。

在过去的几周里,它每周在步骤3上失败几次,并出现此错误。

链接服务器"远程服务器名称"的 OLE DB 提供程序"SQLNCLI11" 报告了错误。

执行被提供程序终止,因为 已达到资源限制。[SQLSTATE 42000](错误 7399)

无法从链接服务器的 OLE DB 提供程序"SQLNCLI11"提取行集 "远程服务器名称"。.[SQLSTATE 42000](错误 7421)

链接服务器"远程服务器名称"的 OLE DB 提供程序"SQLNCLI11"返回消息"查询 超时已过期"。[SQLSTATE 01000](错误 7412)。 步骤失败。

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

  • 当步骤 3 失败时,持续时间在 12 - 15 分钟之间。

  • 两个 SQL 服务器都将"远程查询超时"设置为 600 秒(10 分钟)。

奇怪的是,步骤 3 的整个过程只是一个简单的 DELETE 语句。

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

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

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

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

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

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

这应该比DELETE快得多.

相关内容

  • 没有找到相关文章

最新更新