sys.dm_clr_properties (Transact-SQL)

Область применения: SQL Server Управляемый экземпляр SQL Azure Платформенная система аналитики (PDW)

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

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

Имя столбца Тип данных Description
name nvarchar(128) Имя свойства.
значение nvarchar(128) Значение свойства.

Свойства

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

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

Sys.dm_clr_properties динамическое управляемое представление может возвращать шесть разных значений для свойства состояния, которое отражает состояние размещенной среды 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 не загружается, а состояния Mscoree отображают прогрессию размещенной инициализации СРЕДЫ CLR при запуске сервера и, скорее всего, не отображаются.

Заблокированная версия CLR с состоянием mscoree может быть замечена, где размещенная среда CLR не используется и, таким образом, она еще не инициализирована. Размещенная среда CLR инициализируется при первом выполнении инструкции DDL (например , CREATE ASSEMBLY (Transact-SQL)) или управляемого объекта базы данных.

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

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

Состояние СРЕДЫ CLR остановлено только в том случае, если SQL Server находится в процессе завершения работы.

Замечания

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

Разрешения

На SQL Server и управляемом экземпляре SQL необходимо разрешение VIEW SERVER STATE.

Для целей службы База данных SQL Basic, S0 и S1, а также для баз данных в эластичных пулах, учетной записи администратора сервера, учетной записи администратора Microsoft Entra или членства в ##MS_ServerStateReader## роли сервера требуется. Для всех остальных целей обслуживания базы данных SQL требуется разрешение VIEW DATABASE STATE в базе данных или членство в роли сервера ##MS_ServerStateReader##.

Разрешения для SQL Server 2022 и более поздних версий

Требуется разрешение VIEW SERVER PERFORMANCE STATE на сервере.

Примеры

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

SELECT name, value   
FROM sys.dm_clr_properties;  

См. также

Динамические административные представления и функции (Transact-SQL)
Связанные динамические административные представления среды cl language (Transact-SQL)