TCP Provider The semaphore timeout period has expired

简介: 我们一数据库服务器上有个作业最近几天偶尔会遇到下面错误(敏感信息已做处理),主要是报“TCP Provider: The semaphore timeout period has expired. [SQLSTATE 07008] (Error 121)  OLE DB provider "SQLNCLI" for linked server "(null)" returned message "Communication link failure". [SQLSTATE 01000] (Error 7412).  The step failed.”。

    我们一数据库服务器上有个作业最近几天偶尔会遇到下面错误(敏感信息已做处理),主要是报“TCP Provider: The semaphore timeout period has expired. [SQLSTATE 07008] (Error 121)  OLE DB provider "SQLNCLI" for linked server "(null)" returned message "Communication link failure". [SQLSTATE 01000] (Error 7412).  The step failed.”。 作业执行的存储过程使用了Linked Server。服务器为虚拟机Vmware下的Windows Server 2003。

 
 
1 Date 2016 / 6 / 2 9 : 15 : 20 2 Log Job History (Job_Name) 3 4 Step ID 1 5 Server SERVERNAME 6 Job Name Job_Name 7 Step Name Job_Name 8 Duration 00 : 00 : 22 9 Sql Severity 16 10 Sql Message ID 7412 11 Operator Emailed 12 Operator Net sent 13 Operator Paged 14 Retries Attempted 0 15 16 Message 17 Executed as user : NT AUTHORITY\SYSTEM. TCP Provider: The semaphore timeout period has expired. [ SQLSTATE 07008 ] (Error 121 ) OLE DB provider "SQLNCLI" for linked server "( null )" returned message "Communication link failure". [ SQLSTATE 01000 ] (Error 7412 ). The step failed.

 

关于这个错误,在网上查了一些资料。例如这篇文章TCP Provider: The semaphore timeout period has expired里面介绍了好多可能导致这个错误出现的原因,例如TCP Chimney没有禁用,系统内存压力等,一一排除过后,觉得很有可能是网络问题,在这台服务器上,持续ping那台链接过去的服务器,

M:\DB_BACKUP>ping -t 192.168.xxx.xxx> ping.txt

持续ping 了二十多个小时候,期间作业出现了一次上述问题,期间掉包14个,应该可以印证就是虚拟机之间的网络掉包导致了这个作业的错误出现。关于如何诊断网络问题,可以参考一下官方文档如何解决网络连接问题. 问题是基本定位了,但是如何解决是个让系统管理员都头痛的问题。

 

image

 

参考资料:

https://social.technet.microsoft.com/Forums/zh-CN/c3fc9f5d-c073-4a9f-bb3d-b7bb8f893f78/error-0x80070079-the-semaphore-timeout-period-has-expired?forum=itprovistanetworking

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/24df17db-5125-43d7-b504-5d2de132e461/sqlncli-linked-server-error?forum=sqldataaccess

https://support.microsoft.com/zh-cn/kb/325487

相关文章
|
6月前
|
网络协议 安全 Unix
聊聊TCP中的TIME_WAIT
【4月更文挑战第4天】 TIME_WAIT 的产生、作用以及优化
|
SQL druid 关系型数据库
MySQL连接超时时间wait_timeout导致间歇性报错:communication link failure
MySQL连接超时时间wait_timeout导致间歇性报错:communication link failure
786 1
|
网络协议 Java
filebeat:Failed to publish events caused by: write tcp 5044: write: connection reset by peer
filebeat:Failed to publish events caused by: write tcp 5044: write: connection reset by peer
662 0
filebeat:Failed to publish events caused by: write tcp 5044: write: connection reset by peer
|
关系型数据库 MySQL 数据库
interactive_timeout和wait_timeout的关系
interactive_timeout = 28800 wait_timeout = 28800 #这两个参数默认都是28800s,即8个小时; interactive_timeout指的是mysql在关闭一个交互的连接之前所要等待的秒数 wait_timeout指的是mysql在关闭一个非交互的连接之前所要等待的秒数 通过mysql客户端连接数据库是交互式连接,通过jdbc连接数据库是非交互式连接 (1)session级别修改interactive_timeout=10,wait_timeout默认不变。
2263 0
|
网络协议 Linux PHP
TCP TIME_WAIT状态解析及问题解决
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaobryant/article/details/80557158 一、TCP四次挥手过程 TCP在建立连接时需要握手,同理,在关闭连接的时候也需要握手。
2586 0