sys.dm_clr_loaded_assemblies (Transact-SQL)
Область применения: SQL Server
Возвращает по строке для каждой из управляемых пользовательских сборок, загруженных в адресное пространство сервера. Используйте это представление для понимания и устранения неполадок объектов управляемой базы данных среды CLR, выполняемых в Microsoft SQL Server.
Сборки — это файлы DLL кода, используемые для определения и развертывания объектов управляемой базы данных в SQL Server. Каждый раз, когда пользователь выполняет один из этих объектов управляемой базы данных, SQL Server и CLR загружают сборку (и ее ссылки), в которой определяется управляемый объект базы данных. Сборка остается загруженной в SQL Server для повышения производительности, чтобы управляемые объекты базы данных, содержащиеся в сборке, могли быть вызваны в будущем с необходимостью перезагрузить сборку. Сборка не выгружается, пока SQL Server не попадает под давление памяти. Дополнительные сведения о сборках и интеграции среды CLR см. в разделе CLR Hosted Environment. Дополнительные сведения об управляемых объектах базы данных см. в разделе "Создание объектов базы данных с интеграцией среды CLR".
Имя столбца | Тип данных | Description |
---|---|---|
assembly_id | int | Идентификатор загруженной сборки. Assembly_id можно использовать для поиска дополнительных сведений о сборке в представлении каталога sys.assemblys (Transact-SQL). Обратите внимание, что каталог sys.assemblies Transact-SQL отображает сборки только в текущей базе данных. В представлении sqs.dm_clr_loaded_assemblies показаны все загруженные сборки на сервере. |
appdomain_address | int | Адрес домена приложения (AppDomain), в котором загружается сборка. Все сборки, принадлежащие одному пользователю, всегда загружаются в один домен приложения. Appdomain_address можно использовать для поиска дополнительных сведений о домене приложения в представлении sys.dm_clr_appdomains. |
load_time | datetime | Время, когда сборка была загружена. Обратите внимание, что сборка остается загруженной, пока SQL Server не находится под давлением памяти и выгрузит домен приложения. Вы можете отслеживать load_time , чтобы понять, насколько часто SQL Server попадает под давление памяти и выгружает домен приложения. |
Разрешения
необходимо разрешение VIEW SERVER STATE на сервере.
Разрешения для SQL Server 2022 и более поздних версий
Требуется разрешение VIEW SERVER PERFORMANCE 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;
В следующем примере показано, как просмотреть сведения о домене приложения, в котором загружается данная сборка.
SELECT appdomain_id, creation_time, db_id, user_id, state
FROM sys.dm_clr_appdomains AS a
WHERE appdomain_address =
(SELECT appdomain_address
FROM sys.dm_clr_loaded_assemblies
WHERE assembly_id = 555);
См. также
Связанные динамические административные представления среды cl language (Transact-SQL)