長期実行クエリの詳細については、誰でも私を助けることができますか?ProcessID、プロセス名、データベース、ホスト、ユーザー、プロセスログイン時間、クエリ開始時間、クエリ期間。
このデータを提供するクエリまたはSPを探しています。
長期実行クエリの詳細については、誰でも私を助けることができますか?ProcessID、プロセス名、データベース、ホスト、ユーザー、プロセスログイン時間、クエリ開始時間、クエリ期間。
このデータを提供するクエリまたはSPを探しています。
回答:
コメントとして、最良のツールの周りにはあるsp_whoIsActiveによってアダムMachanic。いくつかの方法で使用できます。スクリプトを起動した瞬間に何が実行されているかを確認したり、ループで実行して特定のアクションを監視したりすることができます。
ループで実行するには、ループ内でsp_whoisactiveを使用してアクティビティをログに記録 する方法遅いクエリを検出するには:sp_WhoIsActiveを使用して遅いSQL Serverクエリを検索する方法
DMVを直接使用して、最も遅いクエリを取得し、そこからアクションを実行できます。Glenn Berryの診断クエリを確認してください。
最後に、このクエリを使用して、最も時間のかかるクエリを見つけることができます。あなたはで遊ぶことができますdm_exec_query_statsより多くのデータを追加したり、より多くの情報を得るために他のものと結合します。dmvは、サーバーが再起動されるたびにフラッシュされ、更新されることに注意してください。
SELECT creation_time
,last_execution_time
,total_physical_reads
,total_logical_reads
,total_logical_writes
, execution_count
, total_worker_time
, total_elapsed_time
, total_elapsed_time / execution_count avg_elapsed_time
,SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
((CASE statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE qs.statement_end_offset END
- qs.statement_start_offset)/2) + 1) AS statement_text
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
ORDER BY total_elapsed_time / execution_count DESC;
編集
新しいオプション、First Reponder Kitがすでに利用可能です。BrentOzarチームによってMITライセンスの下で自由に提供されるスクリプトのセットであり、OPからの要求を含むさまざまなタスクを支援します。この場合の主にsp_BlitzFirstおよびsp_BlitzWhoスクリプト。
sp_whoisactiveを強くお勧めします。これはサードパーティのSPですが、上記にリストしたものすべて、およびそれ以上のものを伝えることができます。それはあなたの武器庫に持っている素晴らしいツールです。