sql2008中 如何查询当前有多少个用户,连接指定数据库?

时间:2021-04-29 10:40:13
sql2008中,如何查询当前有多少个用户,连接指定数据库?

如,我想知道有多少用户连接 test数据库?

问题2
如果断开连接test数据库的用户?

9 个解决方案

#1


--try
select distinct hostname,
         db_name(dbid),
         net_address,
         loginame,
         program_name
from master..sysprocesses   
where hostname!=''

#2


select db_name(dbid),user_name(uid) from sys.sysprocesses

#3


--1.
sys.sysprocesses --查进程
sys.sysusers     --查用户相关信息



#4


试试这个吧

select  login_name,r.session_id, r.request_id,e.status, r.start_time, host_name,DB_NAME(database_id) dbname
from sys.dm_exec_requests r
inner join sys.dm_exec_sessions e
on e.session_id=r.session_id
where e.session_id>50


还可以和sys.dm_exec_sql_text结合,看实际的执行语句


select st.text, login_name,r.session_id, r.request_id,e.status, r.start_time, host_name,DB_NAME(database_id) dbname
from sys.dm_exec_requests r
inner join sys.dm_exec_sessions e
on e.session_id=r.session_id
cross apply
sys.dm_exec_sql_text(sql_handle) st      

#5


sp_who2  查看数据库中连接的用户并显示执行的语句

#6


引用
断开连接test数据库的用户?

除了用语句之外,我通常是打电话给他/她:“马上从XXXX退出来”,结果是15秒后它就断开了。

#7


引用 6 楼 claro 的回复:
引用
断开连接test数据库的用户?

除了用语句之外,我通常是打电话给他/她:“马上从XXXX退出来”,结果是15秒后它就断开了。


太幽默了。不过这样的方式挺人性化的,这样好点,直接断开不是很好。

#8


引用 6 楼 claro 的回复:
引用
断开连接test数据库的用户?

除了用语句之外,我通常是打电话给他/她:“马上从XXXX退出来”,结果是15秒后它就断开了。


恩 有的时候不听话的话 就直接把数据库 SING_USER

#9


有意思。

#1


--try
select distinct hostname,
         db_name(dbid),
         net_address,
         loginame,
         program_name
from master..sysprocesses   
where hostname!=''

#2


select db_name(dbid),user_name(uid) from sys.sysprocesses

#3


--1.
sys.sysprocesses --查进程
sys.sysusers     --查用户相关信息



#4


试试这个吧

select  login_name,r.session_id, r.request_id,e.status, r.start_time, host_name,DB_NAME(database_id) dbname
from sys.dm_exec_requests r
inner join sys.dm_exec_sessions e
on e.session_id=r.session_id
where e.session_id>50


还可以和sys.dm_exec_sql_text结合,看实际的执行语句


select st.text, login_name,r.session_id, r.request_id,e.status, r.start_time, host_name,DB_NAME(database_id) dbname
from sys.dm_exec_requests r
inner join sys.dm_exec_sessions e
on e.session_id=r.session_id
cross apply
sys.dm_exec_sql_text(sql_handle) st      

#5


sp_who2  查看数据库中连接的用户并显示执行的语句

#6


引用
断开连接test数据库的用户?

除了用语句之外,我通常是打电话给他/她:“马上从XXXX退出来”,结果是15秒后它就断开了。

#7


引用 6 楼 claro 的回复:
引用
断开连接test数据库的用户?

除了用语句之外,我通常是打电话给他/她:“马上从XXXX退出来”,结果是15秒后它就断开了。


太幽默了。不过这样的方式挺人性化的,这样好点,直接断开不是很好。

#8


引用 6 楼 claro 的回复:
引用
断开连接test数据库的用户?

除了用语句之外,我通常是打电话给他/她:“马上从XXXX退出来”,结果是15秒后它就断开了。


恩 有的时候不听话的话 就直接把数据库 SING_USER

#9


有意思。