Sql Server 2005 Profilerを使用して、最も遅いクエリとストアドプロシージャを見つけるためにトレースするイベント、列、フィルターは何ですか?
遅い= N秒より大きい、引数のために10。
SQL 2005では、管理ビューを使用して、実行速度の遅いクエリを見つけることができます。 SQLサーバーのパフォーマンス で少し前に見つけた良いスクリプトは、あなたが始めるのに役立ちます。最もパフォーマンスの低いデータが最初にリストされます。
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;
プロファイラーを使用する前に、組み込みの使用状況レポートを確認します。データベース、レポート、標準レポート、オブジェクト実行統計の順に右クリックします。
現在キャッシュされている実行計画を、リソースの量とそれらが実行された回数とともにリストします。これは一般に、サーバーがビジー状態になっている原因について非常に良いアイデアを提供します。
期間列は私のためにそれを行いますが、時々私は読み取りと書き込みの列も調べます。
TSQL:StmtCompletedフィルターを使用して、未処理のクエリを取得します。ストアドプロシージャなどを追加することもできますが、tsqlは表示する必要のある「ベース」です。 MSDN記事 のように
「ストアドプロシージャの実行は、SP:Starting、SP:StmtStarting、SP:StmtCompleted、およびSP:Completedイベントクラス、およびすべてのTSQLイベントクラスによって監視できます。」