SQL Server のパフォーマンスに関する問題のトラブルシューティング方法

お知らせ

最新の推奨事項とこのトピックのリンクを更新されたドキュメントは、次のドキュメントを参照してください。

トラブルシューティングと、SQL Server のパフォーマンスを向上させる

概要

パフォーマンスの問題のトラブルシューティングを行うには、一連の手順を特定し、問題の原因を特定を行う必要があります。考えられる原因は次のとおりです。
  • ブロック
  • システム リソースの競合
  • アプリケーション設計上の問題
  • クエリまたはストアド プロシージャの実行時間が長いが
通常非常に時間がかかり、これらの原因を特定するは、収集した情報を評価するいくつかの日を費やすことがあります。パフォーマンス分析の複雑さは、特定のデータベース製品やオペレーティング システムに固有ではありません。すべてのアプリケーションは、リソース、デザイン、または使用率の要因のため、パフォーマンス上の制約が。

詳細については、次の文書番号をクリックして、マイクロソフト サポート技術情報の資料をご参照ください。

224587 SQL Server とアプリケーションのパフォーマンスのトラブルシューティングを行う方法

識別しを問題のトラブルシューティングを行うために、同時に次の情報を収集しをマイクロソフト製品サポート サービス (PSS) に問い合わせる前にすぐに利用可能な出力があります。
  • ブロック スクリプトの出力
  • SQL プロファイラーのトレース ログ
  • SQL Server パフォーマンス モニターのログ
注: パフォーマンス上の問題が発生したときにこの情報を収集しない場合は、すべて、もう一度情報を収集する必要があります。これにより、トラブルシューティングのプロセスが遅延することができます。

問題が発生した後、次の情報を収集してそれを使用できます。
  • sqldiag レポート
  • Microsoft Windows NT のシステム ログとアプリケーション イベント ログ
ほとんどのシナリオでは、PSS には、環境とパフォーマンスの問題の性質を理解するには、この情報が必要です。この情報の一部が使用できない場合は、トラブルシューティングのプロセスは長音があり、遅れる可能性がありますパフォーマンスの問題を識別します。

現在発生していない任意のパフォーマンスの問題、場合でもこのプロセスを実装することをお勧めします。パフォーマンス上の問題が発生した場合は、できるだけ早く必要な情報をキャプチャできます。さらに、期待どおりにアプリケーションが実行するときに基準計画の SQL プロファイラーのログ、SQL Server のパフォーマンス モニターのログ、およびブロックのスクリプトをキャプチャする場合は、アプリケーションが正しく動作しないと、比較のためその情報を使用できます。

大量のトラフィックが SQL Server 環境では、この情報を収集する場合、いくつかのパフォーマンスの低下が生じることがあります。ただし、問題のトラブルシューティングを行うと、原因を特定するには、この情報が必要です。SQL プロファイラー トレースでは、パフォーマンスにほとんど影響があります。場合は、パフォーマンスが著しく低下するが、それをキャプチャするイベントの種類を減らすことで SQL プロファイラーのトレースをカスタマイズできます。SQL プロファイラーのトレースを制限するいくつかの改善を提供します。質問または問題を設定し、情報の収集があれば、お問い合わせください。


先頭に戻る

ブロック スクリプトの出力

ブロック スクリプトでは、ブロッキング問題を識別するために重要です。ただし、ブロックに問題がない場合でもパフォーマンスの問題のトラブルシューティングを行うには、スクリプトからの出力を使用できます。これは、クエリは、ファイル I/O などのリソースを待機している場合、またはトランザクションがされていない場合を決定することで出力もコミットまたはロールバックが必要とします。
ブロック スクリプトを実装する方法については、マイクロソフト サポート技術情報の記事を表示するのには次の資料番号をクリックします。

251004方法は、SQL Server 7.0 のブロックの監視

271509 SQL Server 2000 のブロッキングの監視方法


先頭に戻る

SQL プロファイラーのトレース ログ

SQL プロファイラーのトレースは、SQL Server を実行しているコンピューター上のアクティビティをキャプチャします。低速実行しているクエリとの最適な実行プランを確認するのにには、この情報を使用します。さらに、SQL プロファイラーのパフォーマンスの問題の前に発生するイベントのシリーズを文書化し、その原因を特定するのに役立ちます。

作成し、SQL プロファイラーのトレースを実装するには、GUI を使用して、次のマイクロソフト サポート技術情報資料の内容を監視」を参照してください。
224587 SQL Server とアプリケーションのパフォーマンスのトラブルシューティングを行う方法

作成し、Transact SQL コマンドを使用して SQL プロファイラー トレースを実行する方法の詳細については、マイクロソフト サポート技術情報の記事を表示するのには次の資料番号をクリックします。

289742方法は、SQL Server 7.0 のトレースを作成します。

283790方法は、SQL Server 2000 のトレースを作成します。

Transact SQL コマンドを使用して SQL プロファイラーのトレースを監視する方法の詳細については、マイクロソフト サポート技術情報の記事を表示するのには次の資料番号をクリックします。

289279 INF: SQL Server 7.0 のモニターのトレースする方法

283786方法は、SQL Server 2000 のトレースを監視します。

注: 大きなワークロードの SQL プロファイラーのトレースがある場合は、インデックス チューニング ウィザードを使用することができます。インデックス チューニング ウィザードは、指定されたクエリのインデックスの最適なセットを決定するのに SQL Server クエリ オプティマイザーを使用します。インデックス チューニング ウィザードは、適切なインデックスがデータベースに存在するかどうかを決定するのには非常に効率的なツールです。ウィザードが推奨するインデックスを実装すると、アプリケーションのパフォーマンスを向上できる場合があります。


インデックス チューニング ウィザードを使用する方法の詳細については、SQL Server Books Online の「インデックス チューニング ウィザード」を参照してください。

先頭に戻る

SQL Server パフォーマンス モニターのログ

SQL Server は通常、次のボトルネックによって影響を受けます。
  • CPU
  • メモリ
  • ファイル I/O
  • ロック、ブロッキング、またはデッドロック
SQL Server パフォーマンス モニターを使用すると、これらの潜在的なボトルネックが SQL Server に及ぼす影響を識別します。さらに、このログを使用すると、外部プロセスが SQL Server を実行して、SQL Server のパフォーマンスに悪影響を及ぼす影響を与えずに、コンピューターを使用する頻度の高い場合を特定します。

SQL Server パフォーマンス モニターを開始する前に、ディスクのカウンターは、ことを確認します。これを行うには、コマンド プロンプトでdiskperfを実行します。ディスク カウンターが上にない場合、 diskperf-yを実行し、コンピューターを再起動します。

SQL Server パフォーマンス モニター ログを作成するときは、次の情報を収集します。
  • ページング ファイル
  • プロセス
  • プロセッサ
  • すべての SQL Server カウンター
  • メモリ
  • スレッド
  • 論理ディスク
  • 物理ディスク
  • システム
注: 15 秒の既定の間隔は、サーバーを監視するのに十分な時間を必要があります。ただし、いくつかのタイミングの問題では、データを収集するための時間間隔を短く必要があります。

SQL Server パフォーマンス モニター ログを設定する方法については、マイクロソフト サポート技術情報の記事を表示するのには次の資料番号をクリックします。

150934 NT のトラブルシューティングにパフォーマンス モニター ログを作成する方法

248345 Windows 2000 でシステム モニターを使用してログを作成する方法



注: SQL Server 2005 でのパフォーマンスの監視の詳細については、SQL Server 2005 Books Online の監視とチューニングの「パフォーマンス」を参照してください。
先頭に戻る

sqldiag ユーティリティ

Sqldiag ユーティリティは、SQL Server で提供されます。SQL Server、オペレーティング システム、および SQL Server エラー ログに報告される情報を実行するコンピューターの構成に関する重要な情報が収集されます。Sqldiag ユーティリティを使用する方法の詳細については、SQL Server Books Online の「sqldiag ユーティリティ」を参照してください。

クラスター化された SQL Server に sqldiag を実行する方法については、マイクロソフト サポート技術情報の記事を表示するのには次の資料番号をクリックします。

233332方法はクラスター化/仮想 SQL Server の SQLDIAG を実行


注: SQL Server 2005 では、SQLdiag ユーティリティが大幅に変更されました。このユーティリティのコマンドラインの引数は、SQL Server 2000 と互換性のあるではありません。このユーティリティは変更でき、アプリケーションまたはスクリプトのコマンドライン引数や動作に依存している可能性があります動作しない正しく将来のリリースします。詳細については、SQL Server 2005 Books Online の SQLdiag ユーティリティ」のトピックを参照してください。
先頭に戻る

Microsoft Windows NT のシステム ログとアプリケーション イベント ログ

Windows NT のシステムおよびアプリケーション イベント ログを使用すると、他のデータが表示されない問題を特定します。これらのログは、サーバーの利用状況の完全なビューを提供し、環境のより完全な理解を提供できます。

先頭に戻る

これらのファイルを保存する場所

次の Microsoft Exchange の FTP のファイル サーバーを使用すると、PSS の技術者との間のファイルの送受信を行います。


詳細については、Microsoft ファイル交換の FTP Web サイトに用意されている指示を参照してください。

先頭に戻る


ブックマーク: 9

詳細

 
ルールのソフトウェアルールのタイトルルールの説明ルールの評価対象となる製品のバージョン
System Center のアドバイザーSQL Server のパフォーマンスに影響を与えることができます複数のアクティブなトレースにはSystem Center のアドバイザーは、既定のトレース情報を現在キャプチャしている以外のアクティブなトレースが存在することを確認します。追加のトレースを実行して、高価な e をキャプチャする場合は、UNC パスに保存されている場合とがある場合にこのアラートが生成通気孔を掃除します。この資料の情報を確認し、適切な修正処理を実行します。SQL Server 2008
SQL Server 2008 R2
SQL Server 2012

先頭に戻る

プロパティ

文書番号:298475 - 最終更新日: 2017/02/01 - リビジョン: 1

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 64-bit Edition, Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Workgroup Edition

フィードバック