最近有些客户提出想对SQL Server的连接数进行一些监听。总结了以下一些方法(望园子里的大侠们进行一些补充和指点)

1、获取SQL Server允许同时用户连接的最大数

 

SELECT @@MAX_CONNECTIONS

 

 

2、获取当前指定数据库的连接信息

 

SELECT * FROM master.dbo.sysprocesses WHERE dbid IN
(
SELECT dbid FROM master.dbo.sysdatabases
WHERE NAME='YourDataBaseName'
)

--根据需要更改YourDataBaseName

 

SELECT * FROM master.dbo.sysprocesses WHERE DB_NAME(dbid) = 'YourDataBaseName'

 

 

3、获取当前SQL服务器所有的连接详细信息

 

SELECT * FROM sysprocesses

   以上查询结果包含了:系统进程和用户进程。

  如果只是想查用户进程的话则需采用下面的方法

 

4、获取自上次启动 SQL Server服务 以来连接或试图连接的次数

 

SELECT @@CONNECTIONS

 

  这个刚开始会有点误解,认为是当前SQL Server服务器当前所有的连接数。需要重点注意。