【发布时间】:2015-05-21 14:02:52
【问题描述】:
我已经找到了许多关于此的链接,但到目前为止还没有一个有答案的链接。
问题:SSIS 2008 R2 包将数据从 SQL 2000 数据库(转换项目)的许多表(大约 160 个)导入到新结构中。这已经干净地运行了很多次。需要明确的是,数据似乎实际上是正确导入的。但是,最近 3 次,我遇到了这个错误。下面消息中显示的任务 (54) 源 (269) 是最后一步,也是该步骤中的项目。
我已经确认表中提到的“重复键违规”实际上与源具有相同的 49166 条记录。似乎它几乎只是线程问题或经过的时间(长时间运行的查询)。我在最后一步中截断了 5 个表并重新运行单个任务 54,它完成得很好,全是绿色的。
最好不要因为红鲱鱼而不必去打猎。关于如何解决这个问题以便它干净地报告的任何想法?
谢谢
错误信息如下:
以用户身份执行:[已屏蔽]。适用于 64 位的 Microsoft (R) SQL Server 执行包实用程序版本 10.50.6000.34 版权所有 (C) Microsoft Corporation 2010。保留所有权利。开始时间:下午 4:36:46 错误:2015-05-20 16:36:48.49 代码:0xC0016016 来源:描述:无法解密受保护的 XML 节点“DTS:Password”,错误为 0x8009000B“密钥在指定状态下无效."。您可能无权访问此信息。当存在加密错误时会发生此错误。验证正确的密钥是否可用。结束错误错误:2015-05-20 16:36:48.50 代码:0xC0016016 来源:描述:无法解密受保护的 XML 节点“DTS:Password”,错误为 0x8009000B“密钥在指定状态下无效。”。您可能无权访问此信息。当存在加密错误时会发生此错误。验证正确的密钥是否可用。结束错误错误:2015-05-20 17:19:33.78 代码:0xC0202009 源:数据流任务 54 目标 269 - cadNotificationStatus [396] 描述: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 说明:“违反主键约束 'PK__cadNotif__25843E4F1B0907CE'。无法在对象 'dbo.cadNotificationStatus' 中插入重复键。重复键值为 (4, 2)。”。结束错误错误:2015-05-20 17:19:33.79 代码:0xC0209029 源:数据流任务 54 目标 269 - cadNotificationStatus [396] 描述:SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 “输入“OLE DB 目标输入”(409)”失败,因为发生错误代码 0xC020907B,并且“输入“OLE DB 目标输入”(409)”上的错误行处理指定错误失败。指定组件的指定对象发生错误。在此之前可能会发布错误消息,其中包含有关失败的更多信息。结束错误错误:2015-05-20 17:19:33.79 代码:0xC0047022 来源:数据流任务 54 SSIS.Pipeline 描述:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“OLE DB 目标输入”(409) 时,组件“目标 269 - cadNotificationStatus”(396) 上的 ProcessInput 方法失败,错误代码为 0xC0209029。已识别的组件从 ProcessInput 方法返回错误。该错误是特定于组件的,但该错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。结束错误错误:2015-05-20 17:19:33.81 代码:0xC02020C4 源:数据流任务 54 源 269 - cadNotificationStatus [218] 描述:尝试向数据流任务缓冲区添加行失败,错误代码为 0xC0047020。结束错误错误:2015-05-20 17:19:33.81 代码:0xC0047038 来源:数据流任务 54 SSIS.Pipeline 描述:SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。组件“源 269 - cadNotificationStatus”(218) 上的 PrimeOutput 方法返回错误代码 0xC02020C4。当管道引擎调用 PrimeOutput() 时,组件返回了失败代码。失败代码的含义由组件定义,但是错误是致命的并且管道停止执行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。结束错误 DTExec:包执行返回 DTSER_FAILURE (1)。开始时间:下午 4:36:46 结束时间:下午 5:19:34 经过时间:2568.01 秒。包执行失败。步骤失败。
【问题讨论】:
-
如果您对该键值运行查询,您会得到什么?
-
赞恩,很抱歉错过了您的评论/问题。正如我的帖子中提到的,尽管有错误报告,但所有数据都被传输,所有 49166 行。什么都没有。作业只是报告错误。
标签: sql-server sql-server-2008 ssis bids