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

SQLServerイベントをキャプチャするためのSQLトレースを作成する方法

    SQL Serverのパフォーマンスの問題に直面している場合は、そのパフォーマンスの問題の原因をすばやく特定する必要があります。したがって、現在のワークロードを追跡し、余分な負荷を発生させることなくボトルネックの問題を検出するためのツールが必要です。

    SQL Serverには、SQLServerイベントを収集するためのさまざまなツールが用意されています。例:

    • SQLトレース このツールは、SQL Server 2000で導入されました。これにより、多くのT-SQLストアドプロシージャで収集する予定のイベントのクラスを定義できます。 SQLプロファイラーを使用して特定のイベントを収集するか、コードから呼び出すことができます。しかし、後者には特定の開発スキルと努力が必要でした。
    • SQLServerプロファイラー 道具。これを使用して、パフォーマンス関連のイベントを収集し、コストのかかるクエリを検出し、パフォーマンスを向上させることができます。これにより、SQL Serverイベントのバリアント番号を収集し、シナリオ変数に従ってそれらをフィルタリングできます。
    • SQLServer拡張イベント 軽量のイベント追跡ツールであるツールは、SQL Server 2008で導入され、SQL Server 2012で拡張されました。これにより、多くの事前定義されたイベントで構成される拡張イベントセッションを作成および構成できます。このツールは、パフォーマンス関連のイベントと問題を対象としているため、廃止されたSQLTraceツールとSQLProfilerツールに取って代わります。

    組み込みのプロファイリングツールは、SQL Serverイベントを収集するように構成すると、実稼働環境にさまざまな影響を与えます。さらに、これらのツールのセットアップと構成には、開発スキルが頻繁に必要です。たとえば、SQLトレースシナリオの設定はそのようなタスクです。

    これらのツールはすべて、少なくともSQLServer管理ツールをインストールする必要があります。問題は、セキュリティ上の理由から、一部の環境ではオプションにならない可能性があることです。このようなツールは、SQLServerインスタンスに接続してデータを取得するために適用できます。

    幸い、SQL Server管理ツール市場では、SQLプロファイリングツールに多数のオプションが提供されています。最も便利で無料のSQLトレースツールの1つは、無料のSQLServer用dbForgeイベントプロファイラーです。 ツール。

    イベントをトレースするためのSQLServerツール用のdbForgeイベントプロファイラーの使用

    この無料のソリューションを使用すると、SQLServerのリソース消費とコストのかかるクエリ関連のイベントをキャプチャして分析できます。これらのデータを物理トレースファイルに保存して、後でトラブルシューティングや分析を行うことができます。また、SQL Serverで実行されているすべてのセッションと、これらのセッションで実行されているクエリを表示することもできます。一般に、イベントプロファイラーは1500を超える追跡可能なイベントに適用されます。

    dbForgeイベントプロファイラー 実行中のアクティビティが最も多いアプリケーション、ノード、またはユーザーを定義するのに役立ちます。これは、パフォーマンスとSQL Serverへの影響が最も悪いT-SQLステートメントまたはストアドプロシージャを識別し、SQLServerのリソース消費を追跡します。 SQL Server Analysis andIntegrationServicesに関連するイベントを収集する機能についても言及する価値があります。

    他のSQLServer組み込みプロファイリングツールと比較して、dbForge Event Profilerは、サーバーの過負荷を最小限に抑えながら、最高のトレーサーパフォーマンスを保証します。 Devartダウンロードページからアプリケーションを無料でダウンロードして、マシンにインストールできます:

    インストールが正常に完了すると、ウィザードはそのことを通知し、イベントプロファイラーツールを一度に起動できるようにします。

    SQLServerツール用のdbForgeイベントプロファイラーの構成

    このツールは、ユーザーフレンドリーでシンプルなインターフェースと堅牢な機能を備えています。

    イベントキャプチャプロジェクトを開始するには、新規をクリックします オプション。プロファイルサーバーイベントウィザードを起動します。

    以前に使用した接続から既存の接続を選択するか、SQL Serverインスタンスの名前、認証方法、および接続を確立するための資格情報を入力します。

    SQL Serverインスタンスに接続したら、ライブラリからイベントテンプレートを選択します。各テンプレートは、特定のトラブルシューティングまたはパフォーマンス調整の目標を達成するためのいくつかのイベントで構成されています。キャプチャするイベントのリストは、キャプチャするイベントに表示されます。 ページ。トレース要件に従って、これらのイベントを追加または削除します。

    同じ一般から ページでは、イベントトレースプロセスを停止する日時を指定できます。ツールを実行して自動的に停止させるシナリオに適しています。

    生成された物理トレースファイルを保存するためのデフォルトパス、最大トレースファイルサイズ、およびファイルの最大数を変更することもできます。次に、以下に示すように、生成されたファイルをロールオーバーできます。

    テンプレートを使用しない場合は、キャプチャされたイベントのリストを手動でコンパイルしてください。 1500以上のイベントがdbForgeイベントプロファイラーで利用できます。テンプレートオプションのチェックを外し、次のページに進んで、キャプチャするイベントを選択します。

    これらのイベントはすべて、次のカテゴリにグループ化されています:

    キャプチャする予定のイベント名がすでにわかっている場合は、「検索」オプションを使用してすばやく見つけることができます。検索バーにイベント名を入力します:

    トレースセッションでキャプチャするすべてのイベントを確認したら、[次へ]をクリックします 続行するには:

    アクションの下 ページで、イベントセッションでキャプチャするフィールドのリストを選択します:

    dbForgeイベントプロファイラーツールは、キャプチャされたイベントごとに柔軟な「イベント」フィルターを提供します。さまざまな演算子、コンパレータ、およびパターンを使用して、フィルタリング条件を制御します。

    最後に、イベントセッションでキャプチャする列のリストを選択します。

    イベントセッションのカスタマイズが終了したら、[実行]をクリックします 指定されたイベントのキャプチャを開始するには:

    dbForge Event Profilerツールは、構成されたフィルターを満たすイベントのキャプチャをすぐに開始します。

    キャプチャされた各イベントとその統計に関する有用な情報を含む詳細なイベントトレースセッションを生成します。クエリテキストは別々のグリッドにあり、キャプチャされたイベントの下で実行されているT-SQLクエリを別のウィンドウに抽出する機能があります。

    すべてのターゲットイベントをキャプチャしたら、トレースを停止して、キャプチャされた各列から返された値をフィルタリングできます。

    各列の値を昇順または降順で並べ替えることができるため、以下に示すように、キャプチャされたイベント統計を分析できます。

    キャプチャされたイベントトレースは、物理トレースファイルにすでに保存されていることを思い出してください。したがって、後でトラブルシューティングと分析を実行できます。

    結論

    dbForge Event Profilerツールを使用すると、イベントキャプチャプロセスがはるかに管理しやすくなります。構成は直感的でわかりやすく、自動化オプションを使用すると、必要なときにセッションを実行および停止できます。パフォーマンスの調整とトラブルシューティングのタスクに関する詳細な統計情報を取得します。

    関連項目

    トレースファイルを使用してSQLServerのデッドロックを見つけてトラブルシューティングする方法については、このビデオをご覧ください。


    1. Spring Batch ORA-08177:単一のジョブを実行している場合、このトランザクションへのアクセスをシリアル化できません、SERIALIZED分離レベル

    2. make_timestamptz()がPostgreSQLでどのように機能するか

    3. SQL Serverでの日付と時刻のデータ型間の変換(T-SQLの例)

    4. SQLAlchemyを使用したPostgreSQLILIKEクエリ