【问题标题】:Get Number of open connection string in my application获取我的应用程序中打开的连接字符串的数量
【发布时间】:2023-03-20 02:40:01
【问题描述】:

我正在使用 C# 和 SQL Server 2008 编写应用程序。如何获取已打开但尚未关闭的连接数?

另外,如果我打开一个超时 20 分钟的连接,但不关闭它 - 它会在 20 分钟后关闭吗?

【问题讨论】:

  • 我不知道你的问题的答案,但我建议在使用后系统地关闭连接,服务器会知道如何缓存连接,这样就不会产生开销。

标签: c# sql sql-server connection-string


【解决方案1】:

这显示了每个 DB 的连接数:

SELECT 
    DB_NAME(dbid) as DBName, 
    COUNT(dbid) as NumberOfConnections,
    loginame as LoginName
FROM
    sys.sysprocesses
WHERE 
    dbid > 0
GROUP BY 
    dbid, loginame

这给出了总数:

SELECT 
    COUNT(dbid) as TotalConnections
FROM
    sys.sysprocesses
WHERE 
    dbid > 0

如果您需要更多详细信息,请运行:

sp_who2 'Active'

【讨论】:

    【解决方案2】:

    您应该能够针对 SQL Server 实例使用 PerfMon SQL Server 计数器来监控与您的应用程序外部服务器的打开连接...尤其是当您的应用程序(很可能)是从特定连接中抽象出来的,如果您正在使用连接池

    Here is a quick article 有人演示并监控问题

    【讨论】:

      猜你喜欢
      • 2021-04-20
      • 2017-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-26
      • 2023-03-30
      • 2013-09-27
      相关资源
      最近更新 更多