如,我想知道有多少用户连接 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
试试这个吧
还可以和sys.dm_exec_sql_text结合,看实际的执行语句
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
除了用语句之外,我通常是打电话给他/她:“马上从XXXX退出来”,结果是15秒后它就断开了。
#7
太幽默了。不过这样的方式挺人性化的,这样好点,直接断开不是很好。
#8
恩 有的时候不听话的话 就直接把数据库 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
试试这个吧
还可以和sys.dm_exec_sql_text结合,看实际的执行语句
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
除了用语句之外,我通常是打电话给他/她:“马上从XXXX退出来”,结果是15秒后它就断开了。
#7
太幽默了。不过这样的方式挺人性化的,这样好点,直接断开不是很好。
#8
恩 有的时候不听话的话 就直接把数据库 SING_USER
#9
有意思。