sql - 什么可能导致此 SQL 作业随机执行失败?
问题描述
我正在使用SQL Server 2014
并且我有一个SQL
Job ( SSIS Package
) 设置为每天在特定时间运行。在过去的 3 周中,该SQL
作业在随机的日子里大约有 4 次未能执行。我很难弄清楚这些故障的可能原因以及如何解决它们。对于这些失败中的每一个,我都会从SQL
日志文件中收到相同的错误消息。
错误信息如下所示:
Source: Execute SQL Task Description: OLE DB provider "SQLNCLI11" for linked server "(null)"
returned message "Protocol error in TDS stream".
End Error Error: 2018-05-26 05:23:23.68
Code: 0x00000000 Source: Execute SQL Task
Description: OLE DB provider "SQLNCLI11" for linked server "(null)"
returned message "Communication link failure".
End Error Error: 2018-05-26 05:23:23.68
Code: 0x00000000 Source: Execute SQL Task
Description: Session Provider: Physical connection is not usable [xFFFFFFFF].
End Error Error: 2018-05-26 05:23:23.68 Code: 0x00000000 Source: Execute SQL Task
Description: OLE DB provider "SQLNCLI11" for linked server "(null)"
returned message "Communication link failure".
End Error Error: 2018-05-26 05:23:23.72
Code: 0xC002F210 Source: Execute SQL Task Execute SQL Task
Description: Executing the query " SELECT ResStayNonRoomBundleID<c/> ReservationStayI..."
failed with the following error:
"TCP Provider: An existing connection was forcibly closed by the remote host.".
Possible failure reasons: Problems with the query<c/> "ResultSet" property not set correctly
<c/> parameters not set correctly<c/> or connection not established correctly.
End Error DTExec: The package execution returned DTSER_FAILURE (1).
Started: 5:22:57 AM Finished: 5:23:23 AM Elapsed: 26.343 seconds.
The package execution failed. The step failed.,00:00:26,0,0,,,,0
如果有人可以提供有关此错误的潜在原因的一些帮助和指示,将不胜感激。
SQL
由于工作在某些日子里成功,我已经排除了在内部使用的查询可能存在问题的选项SSIS Package
附加说明:SQL 作业由 12 个步骤组成,并且每次都不会在特定步骤发生故障。
解决方案
我同意@gordon-linoff。我建议创建一个控制台应用程序,该应用程序对封装有一些 try catch 块的数据库进行计数。如果可以进行计数,请从控制台应用程序执行 SSIS 包。
这样做将允许您预先检查是否可以与数据库建立连接。如果没有,您可以捕获其他错误并重试。这是一篇关于从控制台应用程序执行 SSIS 包的帖子。
推荐阅读
- html - 如何在 Angular 中使用嵌套表单并在 Mongodb 中保存数据
- amazon-web-services - 我正在尝试在 AWS 云 9 中包含部分 header.ejs 和 footer.ejs
- ios - 设置 UI 框架在 iPhone X 上无法正常工作;适用于 iPhone 6s
- c# - C# HttpWebRequest “底层连接已关闭:预期保持活动状态的连接已被服务器关闭。”
- groovy - Groovy 中的惰性映射值
- python - Python-将元组列表拆分为子列表
- elasticsearch - Elasticsearch Sink Connector 是否像 JDBC sink 连接器一样支持主键上的 upsert 模式?
- ruby - 如何将黄瓜连接到 oracle 数据库以验证 xml
- java - 如果我们要升级操作系统和数据库版本,是否需要对 Java Web 应用程序代码进行修改?
- javascript - highcharts悬停效果问题