最近我设计的几个ETL不定时报一些莫名其妙的错误,苦苦找了2天没有找到答案,请高手指点一下,先谢了!
第一个问题:
日期                2009-7-8 0:16:16
日志                作业历史记录 (3.ETL_事实表_storagelogbalance 23:20)步骤 ID                4
服务器                DRP
作业名称                3.ETL_事实表_storagelogbalance 23:20
步骤名称                fact_storagebalance
持续时间                00:24:50
SQL 严重性                0
SQL 消息 ID                0
已通过电子邮件通知的操作员                
已通过网络发送通知的操作员                
已通过寻呼通知的操作员                
重试次数                1消息
已以用户 DRP\dba 的身份执行。 ...工具  版本 9.00.4035.00 (32 位)  版权所有 (C) Microsoft Corp 1984-2005。保留所有权利。    开始时间:  0:16:16  错误: 2009-07-08 00:41:06.46     代码: 0x00000000     源: 处理增量更新      说明: TCP 提供程序: 指定的网络名不再可用。  错误结束  错误: 2009-07-08 00:41:06.56     代码: 0xC002F210     源: 处理增量更新 执行 SQL 任务     说明: 执行查询“  update imatstoragebalance set prestock=b.prestock,prestockbalance=b.prestockbalance,indigit=b.indigit,outdigit=b.outdigit,  outamount=b.outamount,inamount=b.inamount,stock=b.stock,stockbalance=b.stockbalance,periodno=b.periodno,companyid=b.companyid,  storageid=b.storageid,materialid=b.materialid,gbatchid=b.gbatchid,sizecode01=b.sizecode01,sizecode02=b.sizecode02,sizecode03=b.sizecode03,  sizecode04=b.sizecode04,sizecode05=b.sizecode05,sizecode06=b.sizecode06,sizecode07=b.sizecode07,sizecode08=b.sizecode08,  cv2=b.cv2,timeid=b.timeid,stocklsmoney=b.stocklsmoney,stockpfmoney=b.stockpfmoney  from imatstoragebalance a  inner join imatstoragebalance_etl b  on a.periodid=b.periodid and a.companyid=b.compan...  包...  该步骤失败。
第二个问题:日期                2009-7-7 23:26:57
日志                作业历史记录 (2.ETL_事实表 23:20)步骤 ID                8
服务器                DRP
作业名称                2.ETL_事实表 23:20
步骤名称                fact_storagepos
持续时间                00:42:25
SQL 严重性                0
SQL 消息 ID                0
已通过电子邮件通知的操作员                
已通过网络发送通知的操作员                
已通过寻呼通知的操作员                
重试次数                0消息
已以用户 DRP\dba 的身份执行。 龃砦笙ⅲ峁┝擞泄厥О艿南晗感畔ⅰ? 错误结束  错误: 2009-07-08 00:08:44.06     代码: 0xC0047021     源: 数据流任务      说明: SSIS 错误代码 DTS_E_THREADFAILED。 线程“SourceThread0”已退出,错误代码为 0xC0047038。可能在此之前已经发出错误消息,提供了有关线程退出原因的详细信息。  错误结束  错误: 2009-07-08 00:08:44.10     代码: 0xC0202009     源: 数据流任务 OLE DB 目标 1 [1]     说明: SSIS 错误代码 DTS_E_OLEDBERROR。出现 OLE DB 错误。错误代码: 0x80004005。  已获得 OLE DB 记录。源:“Microsoft SQL Native Client” Hresult: 0x80004005 说明:“通讯链接失败”。  错误结束  错误: 2009-07-08 00:08:44.17     代码: 0xC0047018     源: 数据流任务 DTS.Pipeline     说明: 组件“OLE DB 目标 1”(1) 在执行后阶段失败,返回的错误代码为 0xC0202009。  错误结束  DTExec: 已返回包执行 DTSER_FAILURE (1)。  开始时间:  23:26:57  完成时间: 0:09:18  已用时间:  2541.05 秒.  包执行失败。

解决方案 »

  1.   

    oledb数据源和oledb目标分布在两台服务器上,两台服务器通过备用网卡直接连起来的,没有通过局域网交换机,因此网络本身应该不会有问题的
    查了windows日志,有提示错误:
    4014  从网络读取输入流时出错,该会话将终止。
      

  2.   

    第一个有提示:TCP 提供程序: 指定的网络名不再可用
      

  3.   

    1.
    说明: TCP 提供程序: 指定的网络名不再可用。
    2.
    说明:“通讯链接失败”。 
    ---------------------
    以上两个都说明你的连接或者是网络有问题. 
      

  4.   

    第一个问题:网络问题,job传输的数据量是不是很大,是不是有时正常有时报错,加一块网卡,负载平衡吧
    第二个问题:在Package Properties里的Execution部分的MaximumErrorCount设置成0