有没有在SQL服务器中查看用户正在运行的查询的方法?我找到了有关如何查看正在运行的查询的信息,但我无法查看哪些用户标识或登录正在运行什么。我是对[sys。]运行查询的新手,任何帮助都将不胜感激。用用户ID /登录运行的SQL查询
SELECT
r.start_time [Start Time]
, session_ID [SPID]
, DB_NAME(database_id) [Database]
, SUBSTRING(t.text,(r.statement_start_offset/2)+1,
CASE WHEN statement_end_offset=-1 OR statement_end_offset=0
THEN (DATALENGTH(t.Text)-r.statement_start_offset/2)+1
ELSE (r.statement_end_offset-r.statement_start_offset)/2+1
END) [Executing SQL]
, Status
, command
, wait_type
, wait_time
, wait_resource
, last_wait_type
FROM
sys.dm_exec_requests r
OUTER APPLY
sys.dm_exec_sql_text(sql_handle) t
WHERE
session_id > 50 --
ORDER BY
r.start_time
但它不显示登录ID。 有时我想确定谁在运行什么。
编辑:来源为上述查询http://www.sqlmatters.com/Articles/See%20what%20queries%20are%20currently%20running.aspx
[SQL Profiler](https://msdn.microsoft.com/en-us/library/ms173799(v = sql.105).aspx)会告诉你什么查询正在运行。 –