如何查找到 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 数据库?
java - 如何在java jdbc中使用sqoop从sql server导入hive?