2011年1月26日 星期三

查詢正在執行的SQL

因為客戶有一個想要知道有誰在執行SQL的需求,使用SQL PROFILE去錄實在是太多資訊了,所以客戶希望我給他資訊比較精簡的方法。上網查了一下,發現有sys.dm_exec_sql_text這個好物。
語法如下:
--尋找有insert的sql
SELECT er.session_id,er.status, er.command, DB_NAME(database_id) AS 'DatabaseName',user_id,st.text
FROM sys.dm_exec_requests AS er CROSS APPLY sys.dm_exec_sql_text(er.sql_handle) AS st
WHERE er.command='INSERT'

如果要找SELECT的話,把er.command='INSERT'改成er.command='SELECT'就可以了。

沒有留言:

張貼留言