sys.dm_clr_loaded_assemblies (Transact-SQL)
サーバーのアドレス空間に読み込まれたマネージ ユーザー アセンブリごとに 1 行のデータを返します。このビューは、MicrosoftSQL Server で実行されている CLR 統合マネージ データベース オブジェクトの把握およびトラブルシューティングのために使用します。
アセンブリは、SQL Server のマネージ データベース オブジェクトの定義や配置のために使用されるマネージ コード DLL ファイルです。ユーザーがこれらのマネージ データベース オブジェクトのいずれかを実行するたびに、そのマネージ データベース オブジェクトが定義されているアセンブリ (およびその参照) が SQL Server と CLR によって読み込まれます。アセンブリは、パフォーマンス向上のために SQL Server に読み込まれたままになるので、その後は、アセンブリを再度読み込まなくても、アセンブリに含まれているマネージ データベース オブジェクトを呼び出すことができます。SQL Server のメモリが不足しない限りアセンブリはアンロードされません。アセンブリと CLR 統合の詳細については、「CLR ホスト環境」を参照してください。マネージ データベース オブジェクトの詳細については、「CLR (共通言語ランタイム) 統合によるデータベース オブジェクトの構築」を参照してください。
列名 |
データ型 |
説明 |
---|---|---|
assembly_id |
int |
読み込まれたアセンブリの ID。assembly_id を使用すると、sys.assemblies (Transact-SQL) カタログ ビューでアセンブリに関する詳細情報を参照できます。Transact-SQLsys.assemblies カタログに表示されるのは現在のデータベースのアセンブリのみであることに注意してください。sqs.dm_clr_loaded_assemblies ビューには、サーバー上のすべての読み込まれたアセンブリが表示されます。 |
appdomain_address |
int |
アセンブリが読み込まれたアプリケーション ドメイン (AppDomain) のアドレス。1 人のユーザーが所有するアセンブリは常にすべて同じ AppDomain に読み込まれます。appdomain_address を使用すると、sys.dm_clr_appdomains ビューで AppDomain に関する詳細情報を参照できます。 |
load_time |
datetime |
アセンブリが読み込まれた時刻。アセンブリは、SQL Server のメモリが不足して AppDomain がアンロードされるまで読み込まれたままです。したがって、load_time を監視すると、どのくらいの頻度で SQL Server のメモリが不足して AppDomain がアンロードされているのかを把握できます。 |
権限
サーバーに対する VIEW SERVER STATE 権限が必要です。
説明
dm_clr_loaded_assemblies.appdomain_address ビューには、dm_clr_appdomains.appdomain_address との多対一のリレーションシップがあります。dm_clr_loaded_assemblies.assembly_id ビューには、sys.assemblies.assembly_id との一対多のリレーションシップがあります。
例
次の例は、現在読み込まれている現在のデータベースのすべてのアセンブリの詳細を表示する方法を示しています。
select a.name, a.assembly_id, a.permission_set_desc, a.is_visible, a.create_date, l.load_time
from sys.dm_clr_loaded_assemblies as l
inner join sys.assemblies as a
on l.assembly_id = a.assembly_id
次の例は、特定のアセンブリが読み込まれている AppDomain の詳細を表示する方法を示しています。
select appdomain_id, creation_time, db_id, user_id, state
from sys.dm_clr_appdomains a
where appdomain_address =
(select appdomain_address
from sys.dm_clr_loaded_assemblies
where assembly_id = 555)