如何查找到 sql server 的打开 jdbc 连接数

Posted

技术标签:

【中文标题】如何查找到 sql server 的打开 jdbc 连接数【英文标题】:how to find number of open jdbc connections to sql server 【发布时间】:2014-01-22 05:37:35 【问题描述】:

在我的应用程序运行的任何时间点,我都想知道有多少打开的 jdbc 连接 (SQL Server)

【问题讨论】:

【参考方案1】:

试试这个:这将为您提供所有当前进程:

USE master;
GO
EXEC sp_who;
GO

请查看here了解更多信息。

【讨论】:

【参考方案2】:

试试这个:

SELECT 
  DB_NAME(dbid) as DBName, 
  COUNT(dbid) as NumberOfConnections,
  loginame as LoginName,
  program_name as 'Program Name'
FROM
  sys.sysprocesses
WHERE 
  dbid > 0 AND program_name LIKE '%jdbc%'
GROUP BY 
  dbid, loginame,program_name

上面将为您提供每个数据库的 JDBC 连接数。

如果您只想要总数,请使用它:

SELECT 
  COUNT(dbid) as NumberOfConnections
FROM
  sys.sysprocesses
WHERE 
  dbid > 0 AND program_name LIKE '%jdbc%'

【讨论】:

这仅在程序名称包含字符串“jdbc”时才有效。 JDBC 客户端应用程序可以使用任何名称来标识自己。 @Ralf 通常官方的 JDBC 驱动程序会被正确识别。将返回 Microsoft JDBC Driver for SQL Server 之类的内容 我不知道 MS 驱动程序的默认值。我们总是设置属性applicationName 以便能够识别正在连接的应用程序。 i-Net Merlia 驱动程序的默认值为“i-Net Merlia”作为应用程序名称。

以上是关于如何查找到 sql server 的打开 jdbc 连接数的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JDBC 连接到 SQL Server 2008 数据库?

如何安装使用SQL Server的JDBC驱动程序

java - 如何在java jdbc中使用sqoop从sql server导入hive?

sql server中如何查找一天内固定时间段内某个字段对应的记录条数?

如何使用JDBC连接到SQL Server

Eclipse利用JDBC连接SQL Server