0

我们有大量的 SSIS 作业,这些作业安排在每天晚上/清晨连续运行。这些作业为我们的生产系统填充和更新大量数据。最近,我们开始在不同时间收到关于不同作业的错误消息。到目前为止,不可能在一致的基础上重现:

     代码:0xC0202009     
     来源:[作业名称] 连接管理器“[Connection.Manager.Name]”
     说明:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80004005。
OLE DB 记录可用。来源:“Microsoft SQL Native Client”Hresult:0x80004005 描述:“通信链路故障”。
OLE DB 记录可用。来源:“Microsoft SQL Native Client”Hresult:0x80004005 描述:“命名管道提供程序:管道的另一端没有进程。”。  
结束错误
错误:2009-03-10 05:19:51.09
     代码:0xC00291EC 来源:更新记录状态执行 SQL 任务
     说明:无法获取连接“[Connection.Manager.Name]”。连接可能未正确配置,或者您可能没有此连接的正确权限... 包执行失败... 步骤失败。

连接肯定配置正确,我们以具有适当权限的用户身份运行它。一年多来,这些工作表现完美。谷歌搜索出现的结果似乎涵盖了从可能的连接问题到数据完整性问题的所有内容。我们已尝试从数据源端将此作为连接问题,并通过检查事件日志从 SQL Server db 和服务器框进行处理。似乎什么都没有排队。这是我们的设置:

  • 我们有一个带有 SQL Server 2005 的 Server 2003 机器,专门用于容纳和运行 SSIS 作业
  • 我们有一个专用的 Server 2003 盒子,上面只有 SQL Server 数据库,用于存放我们的数据并提供 Reporting Services 报告
  • 我们的大多数工作都通过 ODBC 连接到 Sybase DB,以从我们的记录系统中获取数据并将其传送到 SQL Server 以进行报告和数据操作

有没有人以类似的方式遇到过这个异常?同样,我们尝试对 SQL Server DB 和 Sybase 连接进行故障排除,但没有成功。

4

2 回答 2

2

在我们的例子中,这是资源争用。由于其他作业的表级锁而发生死锁。Native Client 错误的描述性不足以让我们知道最初出现了什么问题。我们必须在数据库上运行 SQL Server Profiler 并过滤死锁错误。这篇文章帮助我们指出了正确的方向。

希望有帮助!!

于 2009-03-24T15:10:08.633 回答
1

如果 OLE DB 对您撒谎,那么这可能是任何事情。如果不是,那么管道的另一端可能没有进程。您应该查看事件日志等,以查看其他进程是否已死亡。

如果其他情况发生变化,即使是已经在生产中运行多年的流程也可能会改变它们的行为。例如,备份或其他自动化作业可能花费的时间越来越长,并且现在与您的 SSIS 包的现有计划发生冲突。这样的事情可能会强制关闭任何打开的连接,导致“管道另一端没有进程”。

于 2009-03-11T12:21:40.973 回答