SqlClient.SqlException .Number = 3617.State = 68

时间:2011-02-17 20:27:21

标签: sql-server ado.net

我们从一个sql select语句中收到此异常。我在sysmessages表中找不到错误3617。 .Class是25.没有消息。

我们知道我们在Sql server 2005服务器上获取它。

我知道这是一个连接多个表并使用CLR组合和排序某些数据的大型选择。

可能导致此错误的原因或我可以找出错误代码的含义?

1 个答案:

答案 0 :(得分:2)

看看这个:Discussion on Microsoft forums,请看帖子中最后一位主持人的回答。

已更新 :(在论坛帖子中添加了文字):

  

错误代码3617是系统关注的问题。系统会引起注意   当客户端取消正在运行的请求时。这可能发生在   命令超时例如。此错误通常不会发送到   然而,客户。

     

有一种特殊情况,您可能会遇到这种情况。   重新使用池连接时,第一个出站请求将发送   请求上的特殊位标志告诉服务器重置   执行请求之前的连接状态。这个位导致了   服务器首先清除连接状态,然后执行命令。如果   您的SQL Server负载很重,此位已设置,并且需要   很长一段时间重置连接状态,客户端可能会超时和   发送系统注意。这会导致重置连接   被取消,在这种情况下,您可以看到发送给客户的3617。

     

我们最近在当前版本中强化了此代码以避免发送   返回此特定错误代码,因为错误本质上是虚假的   (基于时间,您可能会或可能不会收到此错误)。无论如何,你   可以认为此错误相当于:“发生严重错误   当前命令。结果(如果有的话)应该被丢弃。手术   被用户取消。“

     

要验证是否存在此问题,请检查SQL错误日志以查找错误   如下所示:

     

spid51在尝试重用SPID 51的会话时请求了任务中止,SPID 51已重置为连接池。会议   将被终止。