15

在一个由数据流任务组成的 ssis 包中,包含 OLEDB 源和 OLDB 目标 ..provider 是 sql 本机客户端..这曾经运行良好..但现在出现错误,如下所示..

请告诉我如何解决它?将其更改为 ado.net?

操作系统:windows 7 专业版,数据库是 SQL Server 2000

[Axe_Data [737]] 错误:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80004005。OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 10.0” Hresult:0x80004005 描述:“通信链路故障”。OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 10.0” Hresult:0x80004005 描述:“TCP Provider:信号量超时期限已过期。”。

我急需帮助解决 SSIS 的问题。我正在尝试使用 SSIS 将数据从一个 SQL 集群导出/导入到另一个。两者都是 SQL 2008 Ent。64位。两者都在 Win2k8 Ent 上运行。64位。目的地是Win2k8 R2。

我遇到的问题是间歇性的,但非常频繁。SSIS 连接在各个步骤中断开。有时在第一个任务上失败,有时在最后一个任务上失败..有时它完全完成第一次迭代(在 for-each 循环中)并在接下来的迭代中失败。

该软件包的相同版本过去曾针对不同的目标运行而没有失败。之前的目标是在 Win2k3 Standard 和 SQL 2005 Std 上运行的单个服务器(非集群)。64 位。

新的目标服务器完全没有流量。有大量的 CPU/内存等。包已从源服务器或目标服务器执行,结果相似。

这是一个简单的导入/导出任务的输出:

复制到 [dbo].[AGGSLIVE_Bandwidth](错误)消息错误 0xc0202009:数据流任务 1:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80004005。OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 10.0”
Hresult:0x80004005 描述:“通信链路故障”。OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 10.0”
Hresult:0x80004005 描述:“TCP Provider:现有连接被远程主机强行关闭。”。(SQL Server 导入和导出向导)

错误 0xc0209029:数据流任务 1:SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。“输入“目标输入”(62)”失败,因为发生错误代码 0xC020907B,并且“输入“目标输入”(62)”上的错误行处理指定错误失败。指定组件的指定对象发生错误。在此之前可能会发布错误消息,其中包含有关失败的更多信息。(SQL Server 导入和导出向导)

错误 0xc0047022:数据流任务 1:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。在处理输入“Destination Input”(62) 时,组件“Destination - AGGSLIVE_Bandwidth”(49) 上的 ProcessInput 方法失败,错误代码为 0xC0209029。已识别的组件从 ProcessInput 方法返回错误。该错误是特定于组件的,但该错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。(SQL Server 导入和导出向导)

错误 0xc0209017:数据流任务 1:设置缓冲区的行集结尾失败,错误代码为 0xC0047020。(SQL Server 导入和导出向导)

错误 0xc0047038:数据流任务 1:SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。组件“Source - Query”(1) 上的 PrimeOutput 方法返回错误代码 0xC0209017。当管道引擎调用 PrimeOutput() 时,组件返回了失败代码。失败代码的含义由组件定义,但错误是致命的并且管道停止执行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。(SQL Server 导入和导出向导)

4

8 回答 8

12

我遇到了同样的问题,它似乎与为并发任务使用相同的数据库连接有关。可能有一些替代解决方案(也许更好),但我通过设置MaxConcurrentExecutables为 1 解决了它。

于 2013-12-06T16:41:33.313 回答
3

如果它与 SSIS 包检查有关,您的源数据库可能包含少量空行。删除它们后,此问题将不再出现。

于 2013-11-20T09:17:31.253 回答
3

在某些情况下,了解 Windows 和 SQL Server 的版本可能会有所帮助。从 Native Client 10.0 我推断 SQL Server 2008 或 SQL Server 2008 R2。

有一些可能的事情要检查,但我会检查是否在 SQL Server 上配置了“优先级提升”。这是一个已弃用的设置,最终将被删除。问题是它会抢夺操作系统所需的资源。请参阅以下注释:

http://msdn.microsoft.com/en-in/library/ms180943(v=SQL.105).aspx

如果“优先级提升”已配置为 1,则将其配置回 0。

exec sp_configure 'priority boost', 0;
RECONFIGURE;
于 2013-08-22T13:57:33.007 回答
3

我的 OLE DB 命令也有类似的问题,我通过将组件内的 ValidateExternalMetadata 属性设置为 False 解决了这个问题。

于 2015-06-01T20:54:24.903 回答
2

我将从关闭 TCP 卸载开始。有一些事情会导致间歇性连接问题,而这通常是罪魁祸首。

注意:我已经看到此设置在 Win Server 2003 和 Win Server 2008 上导致问题

http://blogs.msdn.com/b/mssqlisv/archive/2008/05/27/sql-server-intermittent-connectivity-issue.aspx

http://technet.microsoft.com/en-us/library/gg162682(v=ws.10).aspx

http://blogs.msdn.com/b/psssql/archive/2008/10/01/windows-scalable-networking-pack-possible-performance-and-concurrency-impacts-to-sql-server-workloads.aspx

于 2013-08-22T14:00:30.353 回答
2

我刚刚遇到了这个问题,我的问题是我在 csv 文件中有空行,其中包含文本“null”而不是空行。

于 2014-10-17T11:40:28.430 回答
1

我遇到了类似的问题。

取消选中复选框(“在向导中取消选中说明“第一行有列名”的复选框”)并在运行向导之前确保您已打开 Excel 工作表。

然后通过取消选中复选框来运行向导。

这解决了我的问题。

于 2017-12-04T13:12:02.227 回答
0

这个问题的解决方案是:

  1. 为您的 excel 或平面文件创建另一个连接管理器,否则您只需在连接字符串中传递变量值:

  2. 右键单击Connection Manager>> properties>> Expression>>Select "ConnectionString"从下拉菜单中并传递输入变量,如路径、文件名..

于 2019-09-02T09:02:43.913 回答