マネージ データベース オブジェクトの監視とトラブルシューティング
ここでは、SQL Server で実行されるマネージ データベース オブジェクトとアセンブリの監視およびトラブルシューティングに使用できるツールに関する情報を提供します。
プロファイラー トレース イベント
SQL Server には、データベース エンジンで発生するイベントを監視するための SQL トレースとイベント通知が用意されています。 SQL トレースは、指定したイベントを記録することによって、パフォーマンスのトラブルシューティング、データベースの利用状況の監査、テスト環境のサンプル データの収集、Transact-SQL ステートメントとストアド プロシージャのデバッグ、およびパフォーマンス分析ツール用のデータの収集に役立ちます。 詳細については、「SQL トレース」および「拡張イベント」を参照してください。
イベント |
説明 |
---|---|
アセンブリの読み込み要求 (成功と失敗) の監視に使用されます。 |
|
開始または完了した Transact-SQL バッチに関する情報を提供します。 |
|
Transact-SQL ストアド プロシージャの実行の監視に使用されます。 |
|
CLR および Transact-SQL ルーチンの実行の監視に使用されます。 |
パフォーマンス カウンター
SQL Server には、システム モニターで、SQL Server のインスタンスを実行しているコンピューターの利用状況の監視に使用できるオブジェクトとカウンターが用意されています。 オブジェクトとは、SQL Server ロックや Windows プロセスなど任意の SQL Server リソースです。 各オブジェクトには、監視するオブジェクトのさまざまな特性を示す 1 つ以上のカウンターが含まれます。 詳細については、「SQL Server オブジェクトの使用」を参照してください。
オブジェクト |
説明 |
---|---|
CLR での総実行時間です。 |
Windows システム モニター (PERFMON.EXE) カウンター
Windows システム モニター (PERFMON.EXE) ツールには、CLR 統合アプリケーションの監視に使用できるパフォーマンス カウンターがいくつか用意されています。 .NET CLR パフォーマンス カウンターを "sqlservr" プロセス名でフィルタリングすることにより、実行中の CLR 統合アプリケーションを追跡できます。
パフォーマンス オブジェクト |
説明 |
---|---|
SqlServer:CLR |
サーバーの CPU 統計を提供します。 |
.NET CLR Exceptions |
1 秒あたりの例外数を追跡します。 |
.NET CLR Loading |
サーバーに読み込まれている AppDomains とアセンブリに関する情報を提供します。 |
.NET CLR Memory |
CLR のメモリ使用量に関する情報を提供します。 このオブジェクトを使用すると、メモリ使用量が大きすぎる場合に警告を出すことができます。 |
.NET Data Provider for SQL Server |
1 秒あたりの接続数と切断数を追跡します。 このオブジェクトを使用すると、データベースの利用状況を監視できます。 |
カタログ ビュー
カタログ ビューは、SQL Server データベース エンジンによって使用される情報を返します。 カタログ ビューはカタログ メタデータへの最も一般的なインターフェイスであり、この情報を取得、変換、およびカスタマイズした形式で表示するための、最も効率的な方法となります。したがって、カタログ ビューを使用することをお勧めします。 ユーザーが利用できるすべてのカタログ メタデータがカタログ ビューを通じて公開されています。 詳細については、「カタログ ビュー (Transact-SQL)」を参照してください。
カタログ ビュー |
説明 |
---|---|
データベースに登録されているアセンブリに関する情報を返します。 |
|
他のアセンブリを参照するアセンブリを示します。 |
|
アセンブリで定義されている関数、ストアド プロシージャ、およびトリガーに関する情報を返します。 |
|
データベースに登録されているアセンブリ ファイルに関する情報を返します。 |
|
アセンブリで定義されているユーザー定義型 (UDT) を示します。 |
|
CLR モジュールを定義しているアセンブリを示します。 |
|
ユーザー定義型のパラメーターに関する情報を返します。 |
|
CLR トリガーを定義しているアセンブリを示します。 |
|
CLR トリガーなど、サーバー上にあるサーバーレベル DDL トリガーを示します。 |
|
ユーザー定義型を定義しているアセンブリを示します。 |
|
データベースに登録されているシステム定義型およびユーザー定義型を返します。 |
動的管理ビュー
動的管理ビューと動的管理関数では、サーバーの状態情報が返されます。返された情報は、サーバー インスタンスの状態の監視、問題の診断、パフォーマンスのチューニングに使用できます。 詳細については、「動的管理ビューおよび関数 (Transact-SQL)」を参照してください。
DMV |
説明 |
---|---|
サーバー内の各アプリケーション ドメインに関する情報を提供します。 |
|
サーバー上に登録されている各マネージ アセンブリを示します。 |
|
ホストされている CLR に関する情報を返します。 |
|
実行中のすべての CLR タスクを示します。 |
|
クエリ実行を高速化するため SQL Server でキャッシュされたクエリ実行プランに関する情報を返します。 |
|
キャッシュされたクエリ プランの集計パフォーマンス統計を返します。 |
|
SQL Server 内で実行中の各要求に関する情報を返します。 |
|
CLR メモリ クラークなど、SQL Server のインスタンス内でアクティブになっているすべてのメモリ クラークを返します。 |