如何查看sql server数据库连接数

1.通过系统的“性能”来查看:
开始->管理工具->性能(或者是运行里面输入 mmc)然后通过
添加计数器添加 SQL 的常用统计(MSSQL General Statistics) 然后在下面列出的项目里面选择 用户连接(User Connection) 就可以时时查询到sql server数据库连接数了。

2.通过系统表来查询:
SELECT * FROM 
[Master].[dbo].[SYSPROCESSES] WHERE [DBID] 
IN 
(
  SELECT 
   [DBID]
  FROM 
   [Master].[dbo].[SYSDATABASES] 
  WHERE 
   NAME='databaseName'
)
databaseName 是需要查看的数据库,然后查询出来的行数,就是当前的sql server数据库连接数。不过里面还有一些别的状态可以做参考用。

或者使用以下查询语句:


select * from master.dbo.sysprocesses where dbid in (select dbid from master.dbo.sysdatabases where name='MyDatabase')


通过系统过程来查询:
SP_WHO 'loginName'
loginName 是当然登陆Sql的用户名,一般程序里面都会使用一个username来登陆SQL这样通过这个用户名就能查看到此用户名登陆之后占用的连接了。
如果不写loginName,那么返回的就是所有的sql server数据库连接。


列出所有活动的用户:SP_WHO ‘active’

列出某个特定用户的信息:SP_WHO ‘sa’


应用程序使用连接池:

Max Pool Size=10;Min Pool Size=2


当应用程序开启的时候 ,默认是没有连接的。 当有数据库进行操作的时候 , 就会创建 2个连接 ,  当操作比较多的时候, 前面2个连接被占用,那么就会重新创建连接放入连接池中。 直到 应用程序池中连接为10个, 如果这10个连接被占用,那么新的请求就拿不到连接, 超时的话 ,就会抛出 (超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小









发布了211 篇原创文章 · 获赞 29 · 访问量 36万+

猜你喜欢

转载自blog.csdn.net/wuhualong1314/article/details/20613175