Поделиться через


sys.dm_clr_properties

Возвращает строку для каждого свойства, связанного с интеграцией со средой CLR программы SQL Server, включая версию и состояние внутрипроцессной среды CLR. Внутрипроцессная среда CLR инициализируется запуском инструкций CREATE ASSEMBLY, ALTER ASSEMBLY или DROP ASSEMBLY или выполнением любой подпрограммы, типа или триггера среды CLR. Представление sys.dm_clr_properties не показывает, было ли выполнение определяемого пользователем кода CLR включено на сервере. Выполнение пользовательского кода CLR включается с помощью хранимой процедуры sp_configure, параметру clr enabled должно быть присвоено значение 1.

Представление sys.dm_clr_properties содержит столбцы name и value. Каждая строка в этом представлении содержит подробные сведения о свойстве внутрипроцессной среды CLR. Это представление используется для сбора информации о внутрипроцессной среде CLR, например о каталоге установки, версии и текущем состоянии этой среды. Оно помогает определить, вызвана ли неработоспособность кода интеграции со средой CLR проблемами установки CLR на серверном компьютере.

Имя столбца

Тип данных

Описание

name

nvarchar(128)

Имя свойства.

value

nvarchar(128)

Значение свойства.

Свойства

Свойство directory указывает каталог на сервере, в который была установлена платформа .NET Framework. На серверном компьютере может быть несколько установок платформы .NET Framework, и значение этого свойства определяет установку, которую использует SQL Server.

Свойство version указывает версии платформы .NET Framework и внутрипроцессной среды CLR на сервере.

Динамическое административное представление sys.dm_clr_properties может возвращать шесть различных значений свойства state, которые отражают состояние внутрипроцессной среды CLR программы SQL Server. Они перечислены ниже:

  • Mscoree is not loaded;

  • Mscoree is loaded;

  • Locked CLR version with mscoree;

  • CLR is initialized;

  • CLR initialization permanently failed;

  • CLR is stopped.

Состояния Mscoree is not loaded и Mscoree is loaded отображают процесс инициализации внутрипроцессной среды CLR при запуске сервера; их невозможно увидеть.

В состоянии Locked CLR version with mscoree внутрипроцессная среда CLR не используется, поэтому она еще не инициализирована. Внутрипроцессная среда CLR инициализируется при первом выполнении инструкции DDL (например CREATE ASSEMBLY (Transact-SQL)) или объекта управляемой базы данных.

Состояние CLR is initialized указывает, что внутрипроцессная среда CLR успешно инициализирована. Обратите внимание, что оно не является признаком включения выполнения пользовательского кода CLR. Если с помощью хранимой процедуры Transact-SQLsp_configure выполнение определяемого пользователем кода среды CLR сначала было включено, а затем выключено, значением состояния останется CLR is initialized.

Состояние CLR initialization permanently failed указывает на то, что инициализация внутрипроцессной среды CLR не выполнена. Возможной причиной является нехватка памяти, также это может быть результатом сбоя при подтверждении соединения между SQL Server и средой CLR. В этом случае будет вызвано сообщение об ошибке 6512 или 6513.

Состояние CLR is stopped state можно увидеть, только если SQL Server завершает работу.

Замечания

Свойства и значения этого представления могут быть изменены в будущей версии SQL Server вследствие улучшений функциональных возможностей интеграции со средой CLR.

Разрешения

Необходимо разрешение VIEW SERVER STATE на сервере.

Примеры

В следующем примере происходит получение данных о внутрипроцессной среде CLR:

select name, value 
from sys.dm_clr_properties