如何在我的 SQL 错误日志中识别 17886 错误(“服务器将断开连接”)的来源?

Bra*_*adC 5 sql-server sql-server-2012 errors

我有一个 SQL 2012 服务器,它每 5 分钟左右抛出以下错误:

错误:17886,严重性:20,状态:1。

服务器将断开连接,因为客户端驱动程序在会话处于单用户模式时发送了多个请求。当客户端在会话中仍有批处理运行时发送重置连接的请求,或者当会话正在重置连接时客户端发送请求时,会发生此错误。请联系客户端驱动程序供应商。

我会提醒所有 Sev 20 错误,所以我不能忽略这一点。

好消息是我有一些关于如何修复它的线索(似乎是连接字符串问题):

消息是,我不知道哪个应用程序导致错误!

该服务器拥有 50 多个数据库,来自各种商业供应商、承包商或内部开发人员。该错误不包含有关哪个 spid 或登录名或主机名或数据库导致问题的详细信息。

我尝试在sp_WhoIsActive发生错误时查看活动的 spid(使用),但是服务器上的活动太多而无法突出显示(我也不知道我在寻找什么)。与运行 SQL 探查器相同 - 在不知道如何过滤的情况下,我只是看到服务器持续处理的大量数据。

我试图通过找出哪些应用程序团队进行了最近的更改来缩小范围,但到目前为止还没有成功。

有任何想法吗?

小智 -1

尝试使用

select * from sys.dm_os_ring_buffers
Run Code Online (Sandbox Code Playgroud)

获取有关源客户的更多详细信息。

尝试过滤器类型RING_BUFFER_CONNECTIVITY