sql >> データベース >  >> RDS >> Sqlserver

SP_WhoIsActiveまたはFogLightを介してSQLデータベースを監視する| SQLServerのパフォーマンスのトラブルシューティング-1

    こんにちは、

    この記事シリーズでは、SQLServerのパフォーマンスの問題をトラブルシューティングする方法について説明します。

    SQLServerパフォーマンスのトラブルシューティング

    SQL Serverデータベースのパフォーマンスに関する苦情が増え始めたときに、DBA(データベース管理者)によるパフォーマンスの問題を解決することが期待されています。パフォーマンスの問題を解決する前に、問題の内容と発生理由を特定する必要があります。

    SP_WhoIsActiveを介してSQLServerデータベースを監視する

    問題を特定するには、次の1つ以上のアクションを使用する必要があります。

    1. SP_WhoIsActiveまたはFogLightなどのサードパーティソフトウェアを介してデータベースを監視する
    2. ActivityMonitorを介してデータベースとインスタンスを監視する
    3. PERFMONを介してパフォーマンスカウンターを監視し、負荷ステータスを調べる
    4. SQLServerエラーログファイルを確認する
    5. DMV(動的管理ビュー)とDMF(動的管理機能)を使用して、データベースを詳細に分析します
    6. SQLServerプロファイラーを使用してデータベース内のリアルタイムアクティビティを調べる
    7. データベースの詳細を確認し、SQLDIAGおよびRMLユーティリティツールを使用してレポートします
    8. パフォーマンスの問題のトラブルシューティング

    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のパフォーマンスのトラブルシューティングについて引き続き説明します。


    1. MySQLで文字列の一部を置き換える方法

    2. 職場での遭遇:特大のデータベースからスペースを取り戻す

    3. 島のT-SQLチャレンジ

    4. SqlCommandを使用して、パラメーター化されたデータベース名でデータベースを作成するにはどうすればよいですか?