SQL Server 2008的问题 – “客户端无法重新使用SPID 62的会话,该会话有…”

我遇到了SQL Server 2008安装问题(安装了10.0.2531.0 – SP1)。 它可以作为小型托pipe环境(约500个站点)的数据库服务器。

我得到这样的错误:

客户端无法重新使用已重置为连接池的SPID 62的会话。 失败ID是29.此错误可能是由于较早的操作失败而引起的。 在出现此错误消息之前立即检查错误日志以查找失败的操作

在Windows事件日志中,当我运行这个:

SELECT * FROM sys.dm_os_performance_counters WHERE object_name = 'SQLServer:General Statistics' 

我看到其中一个柜台看起来有点奇怪:

 Logins/sec 429 Connection Reset/sec 163459 Logouts/sec 399 User Connections 30 Logical Connections 33 

任何想法如何检查是什么导致这个问题?

有一个关于如何处理这个错误的MSDN博客文章。 这不是很好,但它确实给出了一些关于如何解释错误代码(失败ID)的指针。

通常会发生的情况是,在重新初始化连接时(例如访问控制和validation)需要执行一些昂贵的工作。 这创造了一个潜在的竞争条件。 当服务器正在完成这项工作时,客户端可能会超时并closures连接或执行其他操作,从而创build一个exception。 腐败的投入,正如他的评论中提到的坎波,可能会加剧这种情况。

这不是导致错误的唯一原因。 在会话重新初始化期间导致exception的任何事情都可能导致这种情况。 错误代码的名称是RedoLoginException