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

SQLServerプロファイラーの使用| SQLServerのパフォーマンスのトラブルシューティング-5

    こんにちは、

    この記事シリーズでは、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ツールを使用してパフォーマンスデータを収集する


    1. Where句のSQLRow_Number()関数

    2. SQLクエリの履歴を調べる

    3. 安全な接続を介したOracleのSQLServerへの接続

    4. タイムスタンプに対する開始時刻と終了時刻の間のPostgreSQLマッチング間隔