小编典典

sql-server:我怎么知道谁在我的数据库中?

sql

我有一个访问前端和sql server后端。我想知道哪些用户当前正在使用该数据库。使用access或sql-server可以做到这一点吗?


阅读 176

收藏
2021-03-23

共1个答案

小编典典

在SQL Server中,您可以运行以下存储过程:

sp_who2

编辑:

如果要在任何给定时间查看谁在使用服务器,可以使用此查询。这将使您可以随意进一步过滤。

SELECT
    SessionId           = ses.session_id
    ,[Database]    = DB_Name(er.database_id)
    ,[Login]            = ses.login_name
    ,Host               = ses.host_name
    ,StartTime          = er.start_time
    ,ClientAddress      = con.client_net_address
    ,SQLStatement       = st.text
FROM sys.dm_exec_requests er
OUTER APPLY sys.dm_exec_sql_text(er.sql_handle) st
LEFT JOIN sys.dm_exec_sessions ses ON ses.session_id = er.session_id
LEFT JOIN sys.dm_exec_connections con ON con.session_id = ses.session_id
WHERE ses.is_user_process = 0x1
AND ses.session_id != @@SPID
ORDER BY
    ses.session_id
2021-03-23