こんにちは、
この記事シリーズでは、SQLServerのパフォーマンスの問題をトラブルシューティングする方法について引き続き説明します。
SQLServerパフォーマンスのトラブルシューティング
この前に前の記事を読んでください。
SQLServerのパフォーマンスのトラブルシューティング-4DMV(動的管理ビュー)とDMF(動的管理機能)の使用
SQLServerプロファイラー
SQLServerプロファイラーを使用してデータベース内のリアルタイムアクティビティを調べる
SQL Server Profilerツールを使用すると、SQLServerデータベース内の問題を特定できます。次の問題は、SQLServerProfilerツールで検出できます。
- トップクエリ
- 期間
- デッドロック
- ロック
- トレースデータベース
- トレースセッション
- ストアドプロシージャなどのバッチジョブの実行ステータスの監視
次のようにSQLServerProfilerを実行し、トレースを開始できます。
次のようにトレース名を入力すると、古いテンプレートを使用できます。また、このトレースファイルをディスクまたはデータベースに保存することもできます。
追跡できるすべてのイベントは、次のようなものです。
データベース、ロック、パフォーマンス、T-SQL、ストアドプロシージャなどをトレースできます。
例えば; SQLステートメントをトレースする場合は、次のように関連するチェックボックスをクリックしてこのイベントを有効にできます。
または、ロックをトレースする場合は、[ロック]セクションをクリックし、次のように関連するチェックボックスをクリックして関連するイベントを有効にします。
ストアドプロシージャをトレースすることもできます。
また、関連するチェックボックスをクリックすると、データベースで実行されているすべてのTSQLステートメントをトレースできます。
このトレース結果をフィルタリングすることもできます。関連する結果のみを表示するには、必ずフィルターを使用することをお勧めします。
フィルタを使用しない場合は、すべての結果が表示されます。ほとんどの場合、Duration Filter、DBUserName、DatabaseName、およびApplicationNameを使用して、正常な結果のみをトレースします。
たとえば、期間が5000(ms)以上であるすべてのステートメントを表示したいとします。この場合、期間が5秒を超えるステートメントのみをトレースします。
フィルタを使用して、TOPSQLとステートメントの期間を追跡できます。
[OK]ボタンをクリックして[トレースの実行]を開始すると、ステートメントとストアドプロシージャのイベントが次のようにトレースされます。
次の記事では、SQLServerのパフォーマンスのトラブルシューティングについて引き続き説明します。
SQLServerのパフォーマンスのトラブルシューティング-6SQLDiagツールを使用してパフォーマンスデータを収集する