在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 -

  做为总公司IT部门,天然承担着各个分公司的运维技术支持工做,因为公司的性质,分公司常常负责维护这各家官老爷的服务器,同时这些服务器也做为和官老爷数据之间的链接。。。。。。此处省略一万字。sql

  今天分公司就有个负责人发过来一段服务器的报错信息,大体以下“数据库

 FireF|y゛ 2016/5/23 15:36:19
日志名称:          Application
来源:            XXXXX windows

日期:            2016/5/23 11:47:30
事件 ID:         0
任务类别:          无
级别:            错误
关键字:           经典
用户:            暂缺
计算机:           WIN-H48V8MB5TAA
说明:
Timestamp: 2016/5/23 3:47:30
Message: 从MQ:.\private$\dsddataexport   中获取报文写入 SQLSERVER 数据库:XXXXX 时出现异常 ,具体的异常信息为:在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的链接。)该服务线程已经中止! 配置信息为:<?xml version="1.0"?><Rule xmlns:xsi="spacer.gifhttp://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="spacer.gifhttp://www.w3.org/2001/XMLSchema"><MQPath>.\private$\dsddataexport</MQPath><Enabled>true</Enabled><Model>UPDATE</Model><DBType>SQLSERVER</DBType><IP>spacer.gif10.XX.XX.X </IP><UserName>PDC_USER</UserName><Password>PDC_USER</Password><DataBaseName>XXXXX </DataBaseName></Rule>
Category: General
Priority: 5
EventId: 0
Severity: Error
Title:
Machine: WIN-H48V
Application Domain: XXXXX .exe
Process Id: 21216
Process Name: E:\XXXXX \DSD\DSD\XXXXX \XXXXX .exe
Win32 Thread Id: 20052
Thread Name: 
Extended Properties: 
事件 Xml:
<Event xmlns="spacer.gifhttp://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="XXXXX " />
    <EventID Qualifiers="0">0</EventID>
    <Level>2</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2016-05-23T03:47:30.000Z" />
    <EventRecordID>99</EventRecordID>
    <Channel>Application</Channel>
    <Computer>WIN-H48V</Computer>
    <Security />
  </System>
  <EventData>
    <Data>Timestamp: 2016/5/23 3:47:30
Message: 从MQ:.\private$\dsddataexport   中获取报文写入 SQLSERVER 数据库:XXXXX  时出现异常 ,具体的异常信息为:在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的链接。)该服务线程已经中止! 配置信息为:&lt;?xml version="1.0"?&gt;&lt;Rule xmlns:xsi="spacer.gifhttp://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="spacer.gifhttp://www.w3.org/2001/XMLSchema"&gt;&lt;MQPath&gt;.\private$\dsddataexport&lt;/MQPath&gt;&lt;Enabled&gt;true&lt;/Enabled&gt;&lt;Model&gt;UPDATE&lt;/Model&gt;&lt;DBType&gt;SQLSERVER&lt;/DBType&gt;&lt;IP&gt;spacer.gif10.74.230.75&lt;/IP&gt;&lt;UserName&gt;PDC_USER&lt;/UserName&gt;&lt;Password&gt;PDC_USER&lt;/Password&gt;&lt;DataBaseName&gt;XXXXX &lt;/DataBaseName&gt;&lt;/Rule&gt;
Category: General
Priority: 5
EventId: 0
Severity: Error
Title:
Machine: WIN-H48V
Application Domain: XXXXX .exe
Process Id: 21216
Process Name: E:\XXXXX \DSD\DSD\XXXXX \XXXXX .exe
Win32 Thread Id: 20052
Thread Name: 
Extended Properties: </Data>
  </EventData>
</Event>
服务器


网络

 简单看了下报错信息,本觉得是传输的问题,可是检查了网络检查了消息队列,并未发现任何异常,以及任何错误信息,看来和传输应该没有关系,运维


 再仔细看了下服务,该服务并非windows自带服务,而是公司为经过消息队列传输的数据写入到sql2005数据库里面,同时也检查了sql的相关信息,也未发现错误,仔细查看报错信息发现:“远程主机强迫关闭了一个现有的链接。)该服务线程已经中止! ”ide

这句话是重点所在,咱们也能够理解为,当在创建链接时,发现创建链接超过了,没法创建链接,那么应用程式主动关闭了一个链接,url


因为该服务由.net编写而成,仔细查阅了下.net数据链接池的概念,发现.net默认最大的链接数为100,且默认为ture状态,那么若是在编写代码的时候没有定义该链接池,长时间使用后链接池没有释放,就会产生该问题,spa


 须要在代码中加入.net

pooling=false

or Max Pool Size的值,

接下来的事情就是让分公司人员去找对应的开发人员,修改其代码进行定义,OK!

相关文章
相关标签/搜索