sys.dm_clr_properties (Transact-SQL)

適用対象: はいSQL Server (サポートされているすべてのバージョン) はいAzure SQL Managed Instance はいParallel Data Warehouse

SQL Server の共通言語ランタイム (CLR) 統合に関係するプロパティごとに 1 行のデータを返します。このプロパティには、ホストされる CLR のバージョンや状態などが含まれます。 ホストされている CLR は、CREATE ASSEMBLY、ALTER ASSEMBLY、または DROP ASSEMBLYステートメントを実行するか、CLR ルーチン、型、またはトリガーを実行して初期化されます。 この sys.dm_clr_properties では、サーバーでユーザー CLR コードの実行が有効になっているかどうかは指定されません。 clr enabled オプションを 1に設定した sp_configure ストアド プロシージャを使用して、ユーザー CLRコードの実行を有効にします。

この sys.dm_clr_properties ビューには、名前と 値の列****が含 まれています。 このビューの各行は、ホストされている CLR の プロパティに関する詳細を提供します。 このビューを使用して、ホストされる CLR に関する情報 (CLR のインストール ディレクトリ、CLR のバージョン、ホストされる CLR の現在の状態など) を収集します。 このビューは、サーバー コンピューターへの CLR のインストールに関する問題が原因で CLR 統合コードが機能していないかどうかを判断するのに役立ちます。

列名 データ型 説明
name nvarchar(128) プロパティの名前。
value nvarchar(128) プロパティの値。

プロパティ

directory プロパティ は、サーバーにインストールされた.NET Frameworkディレクトリを示します。 サーバー コンピューターに複数の .NET Frameworkがインストールされている可能性があります。このプロパティの値によって、どのインストールが使用されているのか SQL Server が識別されます。

version プロパティ は、サーバーでホストされている CLR .NET Frameworkバージョンを示します。

動的 sys.dm_clr_properties ビューでは、ホストされている CLR の状態を反映するstate プロパティに対して 6 つの異なる値を SQL Server 返します。 次に例を示します。

  • Mscoree is not loaded. (mscoree が読み込まれていない。)

  • Mscoree is loaded. (mscoree が読み込まれている。)

  • mscoree を使用したロックされた CLR バージョン。

  • CLR が初期化されます。

  • CLR の初期化は完全に失敗しました。

  • CLR が停止しています。

Mscoree が読 み込まれ 、Mscoree が読み込まれた状態では、サーバーの起動時にホストされる CLR 初期化の進行状況が示され、表示される可能性は高く "ない" と表示されます。

mscoree 状態の Locked CLR バージョンは、ホストされている CLR が使用されていない場所で確認できます。したがって、まだ初期化されていません。 ホストされる CLR は、DDL ステートメント (CREATE ASSEMBLY (Transact-SQL)など) またはマネージド データベース オブジェクトが初めて実行されると初期化されます。

CLR が初期化された状態 は、ホストされている CLR が正常に初期化されたことを示します。 これは、ユーザー CLR コードの実行が有効になっているかどうかを示す点に注意してください。 ユーザー CLR コードの実行が最初に有効になり、sp_configure ストアド プロシージャを使用して無効になっている場合、状態値は引き続き Transact-SQL CLR が初期化されます

CLR 初期化が永続的に失敗した状態は、ホストされている CLR 初期化が失敗したと示します。 これは多くの場合メモリ不足が原因ですが、SQL Server と CLR の間でホスティングのハンドシェイクが失敗していることも考えられます。 このような場合、エラー メッセージ 6512 または 6513 がスローされます。

CLR が停止状態であるの は、 がシャットダウン中 SQL Server の場合のみです。

注釈

このビューのプロパティと値は、CLR 統合機能の機能強化により、 の将来のバージョン SQL Server で変更される可能性があります。

アクセス許可

および SQL Server の場合SQL Managed Instanceアクセス許可が VIEW SERVER STATE 必要です。

基本 SQL Database、S0、S1 のサービス目標、およびエラスティック プール内のデータベースの場合は、サーバー管理者アカウント 、Azure Active Directory管理者アカウント、またはサーバー ロールのメンバーシップが必要 ##MS_ServerStateReader## です。 他のすべてのサービスSQL Database、データベースに対するアクセス許可、またはサーバー ロールのメンバーシップ VIEW DATABASE STATE ##MS_ServerStateReader## が必要です。

次の例では、ホストされる CLR に関する情報を取得します。

SELECT name, value   
FROM sys.dm_clr_properties;  

参照

動的管理ビューと動的管理関数 (Transact-SQL)
Transact-SQL)の共通言語ランタイム関連の動的管理(ビュー