sys.dm_clr_properties (Transact-SQL)
SQL Server の共通言語ランタイム (CLR) 統合に関係するプロパティごとに 1 行のデータを返します。このプロパティには、ホストされる CLR のバージョンや状態などが含まれます。 ホストされる CLR を初期化するには、CREATE ASSEMBLY ステートメント、ALTER ASSEMBLY ステートメント、または DROP ASSEMBLY ステートメントを実行するか、任意の CLR ルーチン、CLR 型、または CLR トリガーを実行します。 sys.dm_clr_properties ビューでは、サーバーでユーザー CLR コードの実行が有効になっているかどうかは指定されません。 ユーザー CLR コードの実行を有効化するには、clr enabled オプションを 1 に設定して sp_configure ストアド プロシージャを実行します。
sys.dm_clr_properties ビューには、name 列と value 列が含まれています。 このビューの各行は、ホストされる CLR のプロパティに関する詳細情報を提供します。 このビューを使用して、ホストされる CLR に関する情報 (CLR のインストール ディレクトリ、CLR のバージョン、ホストされる CLR の現在の状態など) を収集します。 サーバー コンピューターにインストールされている CLR の問題によって CLR 統合コードが機能していない場合は、このビューでそれを確認できます。
列名 |
データ型 |
説明 |
---|---|---|
name |
nvarchar(128) |
プロパティの名前です。 |
value |
nvarchar(128) |
プロパティの値です。 |
プロパティ
directory プロパティは、.NET Framework がインストールされているサーバー上のディレクトリを示します。 サーバー コンピューターに複数の .NET Framework がインストールされている場合もあります。このプロパティの値は、SQL Server がどの .NET Framework を使用しているかを示します。
version プロパティは、サーバーにインストールされている .NET Framework のバージョン、およびサーバー上でホストされている CLR のバージョンを示します。
sys.dm_clr_properties 動的マネージ ビューでは、SQL Server でホストされる CLR の状態を表す state プロパティについて、6 種類の値が返されます。 これらは次のとおりです。
Mscoree is not loaded. (mscoree が読み込まれていない。)
Mscoree is loaded. (mscoree が読み込まれている。)
Locked CLR version with mscoree. (mscoree で CLR バージョンがロックされている。)
CLR is initialized. (CLR が初期化されている。)
CLR initialization permanently failed. (CLR の永続的な初期化エラーが発生している。)
CLR is stopped. (CLR が停止している。)
Mscoree is not loaded 状態と Mscoree is loaded 状態は、サーバー起動時における、ホストされる CLR の初期化処理の進捗状況を示します。これらの状態が返されることはほとんどありません。
ホストされる CLR が使用されておらず、したがってまだ初期化されていない場合は、Locked CLR version with mscoree 状態が返されることがあります。 ホストされる CLR は、DDL ステートメント (CREATE ASSEMBLY (Transact-SQL) など) またはマネージ データベース オブジェクトが初めて実行されたときに初期化されます。
CLR is initialized 状態は、ホストされる CLR が問題なく初期化されたことを示します。 この状態は、ユーザー CLR コードの実行が有効かどうかを表すものではないことに注意してください。 最初はユーザー CLR コードの実行が有効で、その後 Transact-SQL sp_configure ストアド プロシージャを使用して無効にされた場合、state プロパティの値は引き続き CLR is initialized となります。
CLR initialization permanently failed 状態は、ホストされる CLR の初期化が失敗したことを示します。 これは多くの場合メモリ不足が原因ですが、SQL Server と CLR の間でホスティングのハンドシェイクが失敗していることも考えられます。 このような場合には、エラー メッセージ 6512 または 6513 がスローされます。
CLR is stopped 状態は、SQL Server のシャットダウン処理中にのみ返されます。
説明
このビューのプロパティと値は、CLR 統合機能の強化のために将来のバージョンの SQL Server で変更される可能性があります。
権限
サーバーに対する VIEW SERVER STATE 権限が必要です。
使用例
次の例では、ホストされる CLR に関する情報を取得します。
select name, value
from sys.dm_clr_properties