sys.dm_clr_properties (Transact-SQL)

適用対象:SQL ServerAzure SQL Managed InstanceAnalytics Platform System (PDW)

ホストされている CLR のバージョンと状態など、SQL Server 共通言語ランタイム (CLR) 統合に関連する各プロパティの行を返します。 ホストされる CLR は、CREATE AS Standard EditionMB (メガバイト)LY、ALTER AS Standard EditionMB (メガバイト)LY、DROP AS Standard EditionMB (メガバイト)LY ステートメントを実行するか、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) プロパティの値。

プロパティ

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

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

sys.dm_clr_properties動的マネージド ビューは、SQL Server でホストされている CLR の状態を反映する状態プロパティに対して 6 つの異なる値を返すことができます。 これらは次のとおりです。

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

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

  • mscoree でロックされた CLR バージョン。

  • CLR が初期化されます。

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

  • CLR が停止しています。

Mscoree が読み込まれず、Mscoree が読み込まれた状態は、サーバーの起動時にホストされている CLR 初期化の進行状況を示しており、表示されない可能性があります。

mscoree 状態のロックされた CLR バージョンは、ホストされている CLR が使用されていない場所で表示される可能性があるため、まだ初期化されていません。 ホストされる CLR は、DDL ステートメント (CREATE AS Standard EditionMB (メガバイト)LY (Transact-SQL) など) またはマネージド データベース オブジェクトが初めて実行されるときに初期化されます。

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

CLR 初期化が永続的に失敗した状態は、ホストされている CLR の初期化に失敗したことを示します。 メモリ不足が原因である可能性があります。または、SQL Server と CLR の間のホスト ハンドシェイクでエラーが発生した結果である可能性もあります。 このような場合、エラー メッセージ 6512 または 6513 がスローされます。

CLR の停止状態は、SQL Server がシャットダウン中の場合にのみ表示されます。

解説

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

アクセス許可

SQL Server と SQL Managed Instance では、VIEW SERVER STATE アクセス許可が必要です。

SQL Database の BasicS0S1 サービス対象、および Elastic Pool のデータベースの場合、サーバー管理者アカウント、Microsoft Entra 管理者アカウント、または ##MS_ServerStateReader##サーバー ロールのメンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE アクセス許可または ##MS_ServerStateReader## サーバー ロールのメンバーシップのいずれかが必要です。

SQL Server 2022 以降でのアクセス許可

サーバーに対する VIEW SERVER PERFORMANCE STATE アクセス許可が必要です。

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

SELECT name, value   
FROM sys.dm_clr_properties;  

関連項目

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