SQLサーバーには、ユーザーが実行しているクエリを確認する方法はありますか?私はどのようなクエリが実行されているかを見る方法についての情報を見つけましたが、ユーザーIDまたはログインが何を実行しているかを見ることができません。私は[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は表示されません。 時々、誰が何を実行しているのかを特定したい。
EDIT:上記のクエリのソースhttp://www.sqlmatters.com/Articles/See%20what%20queries%20are%20currently%20running.aspx
[SQLプロファイラ](https://msdn.microsoft.com/en-us/library/ms173799 = sql.105).aspx)は実行中のクエリを表示します。 –