加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

查看当前SqlServer数据库连接数

发布时间:2020-12-12 14:04:53 所属栏目:MsSql教程 来源:网络整理
导读:?- [SQL Server]版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://ai51av.blogbus.com/logs/52955622.html ? 如果我们发布一个有后台数据库的应用程序,就会遇到数据库维护方面的问题。比如说现在你想维护你的数据库了,那就会面临

?- [SQL Server]版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://ai51av.blogbus.com/logs/52955622.html
?
如果我们发布一个有后台数据库的应用程序,就会遇到数据库维护方面的问题。比如说现在你想维护你的数据库了,那就会面临着是否还有用户连接你的数据库呢,如果有暂时就不维护,如果没有,就维护,这个文章就是解决是否还有用户连接的问题。目前共找到3种方法,如果以后有更多的方法,继续添加!


1.通过系统的“性能”来查看:
开始->管理工具->性能(或者是运行里面输入 mmc)然后通过添加计数器添加 SQL 的常用统计 然后在下面列出的项目里面选择用户连接就可以时时查询到数据库的连接数了。不过此方法的话需要有访问那台计算机的权限,就是要通过windows账户登陆进去才可以添加此计数器。
2.通过系统表来查询:

[sql]? view plain copy
  1. SELECT?*?FROM??
  2. [Master].[dbo].[SYSPROCESSES]?WHERE?[DBID]?IN?(?SELECT??
  3. ???[DBID]??
  4. FROM??
  5. ???[Master].[dbo].[SYSDATABASES]??
  6. WHERE??
  7. ???NAME='DBName'??
  8. )??


DBName 是需要查看的数据库,然后查询出来的行数,就是当前的连接数。不过里面还有一些别的状态可以做参考用。
例如:连到master这个数据库写如下语句
copy
    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,那么返回的就是所有的连接。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读