select from syssysprocesses --查进程,更多介绍,请复制表名百度一下,更详细正规的介绍。
select from syssysusers --查用户相关信息
Select from sysdm_exec_connections --此命令可以看到连接情况
--此命令可以看到有多少会话,一个连接可以有多个会话
select session_id,status,login_name,login_time, from sysdm_exec_sessions
Select sql_handle, from sysdm_exec_requests --查请求的ID,请求的状态。如:
后台。请求是后台线程,例如资源监视器或死锁监视器。
正在运行。请求正在运行。
可运行。请求正在运行,由于仲裁不足,因此要临时进行妥善安排。
睡眠。没有要做的工作。
挂起。请求正在等待工作线程选取。
已挂起。请求正在等待某个事件。
最终我们根据自己的需要将上面的表选择需要的表进行连接查询出想要的结果。
select DB_NAME(database_id) dbname,login_name,t1session_id,
t1request_id,t2status,t1start_time, host_name
from sysdm_exec_requests t1
inner join sysdm_exec_sessions t2
on t1session_id=t2session_id
1、通过系统的“性能”来查看:
开始->管理工具->性能(或者是运行里面输入
mmc)然后通过
添加计数器添加
SQL
的常用统计
然后在下面列出的项目里面选择用户连接就可以时时查询到sql
server数据库连接数了。
不过此方法的话需要有访问那台计算机的权限,就是要通过windows账户登陆进去才可以添加此计数器。
2、通过系统表来查询:
SELECT
FROM
[Master][dbo][SYSPROCESSES]
WHERE
[DBID]
IN
(
SELECT
[DBID]
FROM
[Master][dbo][SYSDATABASES]
WHERE
NAME='databaseName'
)
databaseName
是需要查看的数据库,然后查询出来的行数,就是当前的sql
server数据库连接数。不过里面还有一些别的状态可以做参考用。
3、通过系统过程来查询:
SP_WHO
'loginName'
loginName
是当然登陆Sql的用户名,一般程序里面都会使用一个username来登陆SQL这样通过这个用户名就能查看到此用户名登陆之后占用的连接了。
如果不写loginName,那么返回的就是所有的sql
server数据库连接。
数据库连接一般写在webconfig文件的<appsettings> 部分,这种是最常见的也是最方便的。还有的可能写在需要建立连接的地方。我不清楚你是不是有源代码,如果有的话你可以顺藤摸瓜,先找一个对数据库进行 *** 作的方法,然后顺着这个方法找,肯定可以找到。会调试的话那就更不用说了。
以上就是关于怎么查询sql server数据库当前连接情况全部的内容,包括:怎么查询sql server数据库当前连接情况、sqlserver怎么查看哪些地方连接数据库了、asp.net系统里的数据库连接如何查等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)