sys.dm_clr_loaded_assemblies

Изменения: 12 декабря 2006 г.

Возвращает по строке для каждой из управляемых пользовательских сборок, загруженных в адресное пространство сервера. Используйте это представление для исследования и устранения проблем в управляемых объектах CLR базы данных, которые выполняются в Microsoft SQL Server.

Сборки — это файлы динамических библиотек с управляемым кодом, которые используются для определения и развертывания управляемых объектов базы данных в SQL Server. Каждый раз, когда пользователь запускает один из управляемых объектов базы данных, SQL Server и среда CLR загружают сборку (а также другие сборки, на которые она ссылается), в которой определен этот управляемый объект базы данных. Сборка остается загруженной в SQL Server для увеличения производительности, чтобы впоследствии управляемые объекты базы данных, содержащиеся в сборке, можно было бы вызывать без повторной загрузки сборки. Сборка не выгружается до тех пор, пока у SQL Server не возникнет необходимость в освобождении памяти. Дополнительные сведения о сборках и интеграции со средой CLR см. в разделе CLR Hosted Environment. Дополнительные сведения об управляемых объектах базы данных см. в разделе Building Database Objects with Common Language Runtime (CLR) Integration.

Имя столбца Тип данных Описание

assembly_id

int

Идентификатор загруженной сборки. Идентификатор assembly_id можно использовать для поиска дополнительной информации о сборке в представлении каталога sys.assemblies (Transact-SQL). Обратите внимание, что каталог Transact-SQL sys.assemblies показывает только те сборки, которые находятся в текущей базе данных. Представление sqs.dm_clr_loaded_assemblies показывает все сборки, загруженные на сервере.

appdomain_address

int

Адрес домена приложения (AppDomain), в который загружена сборка. Все сборки, принадлежащие одному пользователю, всегда загружаются в один и тот же домен приложений (AppDomain). Адрес домена (appdomain_address) может быть использован для поиска дополнительной информации о домене приложения AppDomain в представлении sys.dm_clr_appdomains.

load_time

datetime

Время, когда сборка была загружена. Обратите внимание, что сборка остается загруженной до тех пор, пока у SQL Server не возникнет необходимость в памяти и он не выгрузит домен приложений. Наблюдая за параметром load_time, можно узнать, как часто у SQL Server возникает необходимость в памяти с последующей выгрузкой домена приложений.

Разрешения

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

Замечания

Представление dm_clr_loaded_assemblies.appdomain_address имеет связь «многие к одному» с представлением dm_clr_appdomains.appdomain_address. Представление dm_clr_loaded_assemblies.assembly_id имеет связь «один ко многим» с представлением sys.assemblies.assembly_id.

Примеры

Следующий пример показывает, как можно просматривать сведения обо всех сборках, которые в данный момент загружены в текущей базе данных.

select a.name, a.assembly_id, a.permission_set_desc, a.is_visible, a.create_date, l.load_time 
from sys.dm_clr_loaded_assemblies as l 
inner join sys.assemblies as a
on l.assembly_id = a.assembly_id

Следующий пример показывает, как можно просматривать сведения о домене приложений (AppDomain), в котором загружена данная сборка.

select appdomain_id, creation_time, db_id, user_id, state
from sys.dm_clr_appdomains a
where appdomain_address = 
(select appdomain_address 
 from sys.dm_clr_loaded_assemblies
 where assembly_id = 555)

См. также

Справочник

Динамические административные представления и функции
Динамические административные представления, связанные со средой CLR

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

12 декабря 2006 г.

Добавления
  • Обновлено введение и добавлены образцы.