マネージ データベース オブジェクトの監視とトラブルシューティング

ここでは、SQL Server で実行されるマネージ データベース オブジェクトとアセンブリの監視およびトラブルシューティングに使用できるツールに関する情報を提供します。

プロファイラ トレース イベント

SQL Server には、データベース エンジンで発生するイベントを監視するための SQL トレースとイベント通知が用意されています。SQL トレースは、指定したイベントを記録することによって、パフォーマンスのトラブルシューティング、データベースの利用状況の監査、テスト環境のサンプル データの収集、Transact-SQL ステートメントとストアド プロシージャのデバッグ、およびパフォーマンス分析ツール用のデータの収集に役立ちます。詳細については、「イベントの監視」を参照してください。

イベント

説明

Assembly Load イベント クラス

アセンブリの読み込み要求 (成功と失敗) の監視に使用されます。

SQL:BatchStarting イベント クラス, SQL:BatchCompleted イベント クラス

開始または完了した Transact-SQL バッチに関する情報を提供します。

SP:Starting イベント クラス, SP:Completed イベント クラス

Transact-SQL ストアド プロシージャの実行の監視に使用されます。

SQL:StmtStarting イベント クラス, SQL:StmtCompleted イベント クラス

CLR および Transact-SQL ルーチンの実行の監視に使用されます。

パフォーマンス カウンタ

SQL Server には、システム モニタで、SQL Server のインスタンスを実行しているコンピュータの利用状況の監視に使用できるオブジェクトとカウンタが用意されています。オブジェクトとは、SQL Server ロックや Windows XP プロセスなど任意の SQL Server リソースです。各オブジェクトには、監視するオブジェクトのさまざまな特性を示す 1 つ以上のカウンタが含まれます。詳細については、「SQL Server オブジェクトの使用」を参照してください。

オブジェクト

説明

SQL Server: CLR オブジェクト

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)」を参照してください。

カタログ ビュー

説明

sys.assemblies (Transact-SQL)

データベースに登録されているアセンブリに関する情報を返します。

sys.assembly_references (Transact-SQL)

他のアセンブリを参照するアセンブリを示します。

sys.assembly_modules (Transact-SQL)

アセンブリで定義されている関数、ストアド プロシージャ、およびトリガに関する情報を返します。

sys.assembly_files (Transact-SQL)

データベースに登録されているアセンブリ ファイルに関する情報を返します。

sys.assembly_types (Transact-SQL)

アセンブリで定義されているユーザー定義型 (UDT) を示します。

sys.module_assembly_usages (Transact-SQL)

CLR モジュールを定義しているアセンブリを示します。

sys.parameter_type_usages (Transact-SQL)

ユーザー定義型のパラメータに関する情報を返します。

sys.server_assembly_modules (Transact-SQL)

CLR トリガを定義しているアセンブリを示します。

sys.server_triggers (Transact-SQL)

CLR トリガなど、サーバー上にあるサーバーレベル DDL トリガを示します。

sys.type_assembly_usages (Transact-SQL)

ユーザー定義型を定義しているアセンブリを示します。

sys.types (Transact-SQL)

データベースに登録されているシステム定義型およびユーザー定義型を返します。

動的管理ビュー

動的管理ビューと動的管理関数では、サーバーの状態情報が返されます。返された情報は、サーバー インスタンスの状態の監視、問題の診断、パフォーマンスのチューニングに使用できます。詳細については、「動的管理ビューおよび関数 (Transact-SQL)」を参照してください。

DMV

説明

sys.dm_clr_appdomains (Transact-SQL)

サーバー内の各アプリケーション ドメインに関する情報を提供します。

sys.dm_clr_loaded_assemblies (Transact-SQL)

サーバー上に登録されている各マネージ アセンブリを示します。

sys.dm_clr_properties (Transact-SQL)

ホストされている CLR に関する情報を返します。

sys.dm_clr_tasks (Transact-SQL)

実行中のすべての CLR タスクを示します。

sys.dm_exec_cached_plans (Transact-SQL)

クエリ実行を高速化するため SQL Server でキャッシュされたクエリ実行プランに関する情報を返します。

sys.dm_exec_query_stats (Transact-SQL)

キャッシュされたクエリ プランの集計パフォーマンス統計を返します。

sys.dm_exec_requests (Transact-SQL)

SQL Server 内で実行中の各要求に関する情報を返します。

sys.dm_os_memory_clerks (Transact-SQL)

CLR メモリ クラークなど、SQL Server のインスタンス内でアクティブになっているすべてのメモリ クラークを返します。