最近有些客户提出想对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 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服务器当前所有的连接数。需要重点注意。