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

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

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

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

関連項目

その他の技術情報

CLR (共通言語ランタイム) 統合のプログラミング概念