SQL Server 2008 的问题 - “客户端无法重用 SPID 为 62 的会话,该会话……”

SQL Server 2008 的问题 - “客户端无法重用 SPID 为 62 的会话,该会话……”

我的 SQL Server 2008 安装(已安装 10.0.2531.0 - SP1)出现问题。它用作小型托管环境(约 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

有什么想法可以检查是什么导致了这个问题吗?

答案1

MSDN 博客文章介绍了如何处理此错误。 它不是很好,但它确实提供了一些关于如何解释错误代码(故障 ID)的指示。

通常情况下,在重新初始化连接时需要执行一些昂贵的工作(例如访问控制和验证)。这会产生潜在的竞争条件。当服务器执行此工作时,客户端可能会超时并关闭连接或执行其他操作,从而产生异常。正如 campo 在他的评论中提到的那样,损坏的输入可能会加剧这种情况。

这不是导致错误的唯一可能原因;会话重新初始化期间导致异常的任何因素都可能导致此错误。错误代码的名称为RedoLoginException

相关内容