こんにちは、
この記事シリーズでは、SQLServerのパフォーマンスの問題をトラブルシューティングする方法について説明します。
SQLServerパフォーマンスのトラブルシューティング
SQL Serverデータベースのパフォーマンスに関する苦情が増え始めたときに、DBA(データベース管理者)によるパフォーマンスの問題を解決することが期待されています。パフォーマンスの問題を解決する前に、問題の内容と発生理由を特定する必要があります。
SP_WhoIsActiveを介してSQLServerデータベースを監視する
問題を特定するには、次の1つ以上のアクションを使用する必要があります。
- SP_WhoIsActiveまたはFogLightなどのサードパーティソフトウェアを介してデータベースを監視する
- ActivityMonitorを介してデータベースとインスタンスを監視する
- PERFMONを介してパフォーマンスカウンターを監視し、負荷ステータスを調べる
- SQLServerエラーログファイルを確認する
- DMV(動的管理ビュー)とDMF(動的管理機能)を使用して、データベースを詳細に分析します
- SQLServerプロファイラーを使用してデータベース内のリアルタイムアクティビティを調べる
- データベースの詳細を確認し、SQLDIAGおよびRMLユーティリティツールを使用してレポートします
- パフォーマンスの問題のトラブルシューティング
FogLightを介してデータベースを監視する
DBA(データベース管理者)は、データベースを常にリアルタイムで監視する必要があります。データベースのリアルタイム監視を行うには、FogLightなどのリアルタイム監視ソフトウェアまたはSP_WhoIsActiveなどのストアドプロシージャを使用します。
Foglightは、GUIといくつかの便利なリアルタイムの監視とアラートを提供します。ただし、無料ではありません。会社について考え、重要なデータベースがたくさんある場合は、このソフトウェアを使用してデータベースをリアルタイムで監視できることをお勧めします。
しかし、これに予算がなく、あなたの会社が大きくない場合。非常に高価なので使用しないでください。
このストアドプロシージャを使用して、SP_WhoIsActiveを作成し、データベースを監視することをお勧めします。 Adam mechanicによって作成されたSP_WhoIsActiveストアドプロシージャは無料で利用でき、現在のセッションセッションとSQLに関する情報を提供します。データベースにSP_WhoIsActiveを手動で作成した後、次のように実行できます。
SP_WhoIsActiveを介して、セッションの次の重要で重要な機能を確認できます。
- SQLテキスト
- 待機情報
- セッションステータスのブロック
- CPU使用率
- TempDBの割り当て
- セッション期間とログイン時間
- ログイン名とマシン名
- 完了率
- ステータス
このリンクを使用して、最新のSP_WhoIsActiveをダウンロードできます。
SP_WhoIsActiveをダウンロードし、これらのSPをSSMS(SQL Server Management Studio)にコピーして貼り付け、SP_WhoIsActiveを実行して作成すると、使用できるようになります。
SQLServerエラーログファイルを確認する
SQL Serverインスタンスで発生するエラーは、エラーログを調べることで見つけることができます。データベースのエラーログは次のように表示されます。
インスタンスにアクセスできない場合は、以下のデフォルトパスにエラーログファイルがあります。
C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Log
次の記事では、SQLServerのパフォーマンスのトラブルシューティングについて引き続き説明します。