Share via


sys.dm_clr_loaded_assemblies (Transact-SQL)

サーバーのアドレス空間に読み込まれたマネージ ユーザー アセンブリごとに 1 行のデータを返します。このビューは、Microsoft SQL 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)