如何查询SQL Server连接数

如何查询SQL Server连接数,第1张

1通过管理工具
开始->管理工具->性能(或者是运行里面输入 mmc)然后通过添加计数器添加 SQL 的常用统计 然后在下面列出的项目里面选择用户连接就可以时时查询到数据库连接数了。不过此方法的话需要有访问那台计算机的权限,就是要通过Windows账户登陆进去才可以添加此计数器。
2通过系统表查询
SELECT FROM
[Master][dbo][SYSPROCESSES] WHERE [DBID] IN ( SELECT
[DBID]
FROM
[Master][dbo][SYSDATABASES]
WHERE
NAME='DBName'
)
DBName 是需要查看的数据库,然后查询出来的行数,就是当前的连接数。不过里面还有一些别的状态可以做参考用。
例如:连到master这个数据库写如下语句
select from sysprocesses where dbid in (select dbid from sysdatabases where name='MyDatabase')
将所有连接MyDatabase这个数据库的连接记录都求出来。
sysprocesses这个表记录所以连接到SQL SERVER数据库的连接。
3通过系统的存储过程来查找
SP_WHO 'UserName'
UserName 是当然登陆Sql的用户名,一般程序里面都会使用一个UserName来登陆SQL这样通过这个用户名就能查看到此用户名登陆之后占用的连接了。
如果不写UserName,那么返回的就是所有的连接。

1、查看系统tcp连接中各个状态的连接数。

netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

2、查看和本机23端口建立连接并状态在established的所有ip

netstat -an |grep 23 |grep ESTA |awk '{print$5 "\n"}' |awk 'BEGIN {FS=":"} {print $1 "\n"}' |sort |uniq

说明:内网Linux服务器,以23 telnet连接服务为例

3、输出每个ip的连接数,以及总的各个状态的连接数。

netstat -n | awk '/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %s\n", a, S[a]);++I}printf("%-20s %s\n","TOTAL_IP",I);for(a in s) printf("%-20s %s\n",a, s[a]);printf("%-20s %s\n","TOTAL_LINK",N);}'

1通过管理工具
开始->管理工具->性能(或者是运行里面输入
mmc)然后通过添加计数器添加
SQL
的常用统计
然后在下面列出的项目里面选择用户连接就可以时时查询到数据库的连接数了。不过此方法的话需要有访问那台计算机的权限,就是要通过Windows账户登陆进去才可以添加此计数器。
2通过系统表查询
SELECT  FROM
[Master][dbo][SYSPROCESSES] WHERE [DBID] IN ( SELECT
[DBID]
FROM
[Master][dbo][SYSDATABASES]
WHERE
NAME='DBName'
)
DBName
是需要查看的数据库,然后查询出来的行数,就是当前的连接数。不过里面还有一些别的状态可以做参考用。
例如:连到master这个数据库写如下语句
select  from sysprocesses where dbid in (select dbid from sysdatabases where name='MyDatabase')
将所有连接MyDatabase这个数据库的连接记录都求出来。
sysprocesses这个表记录所以连接到SQL
SERVER数据库的连接。
3通过系统的存储过程来查找
SP_WHO 'UserName'
UserName
是当然登陆Sql的用户名,一般程序里面都会使用一个UserName来登陆SQL这样通过这个用户名就能查看到此用户名登陆之后占用的连接了。
如果不写UserName,那么返回的就是所有的连接。

windows *** 作系统下查看tomcat或apache的当前的并发数和连接数可以使用netstat命令;
具体 *** 作方法如下:
Netstat
显示协议统计和当前的 TCP/IP 网络连接。该命令只有在安装了 TCP/IP 协议后才可以使用。
netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval]
参数
-a
显示所有连接和侦听端口。服务器连接通常不显示。
-e
显示以太网统计。该参数可以与 -s 选项结合使用。
-n
以数字格式显示地址和端口号(而不是尝试查找名称)。
-s
显示每个协议的统计。默认情况下,显示 TCP、UDP、ICMP 和 IP 的统计。-p 选项可以用来指定默认的子集。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13071924.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存