sys.dm_clr_loaded_assemblies (Transact-SQL)

Se aplica a:SQL Server

Devuelve una fila por cada ensamblado de usuario administrado cargado en el espacio de direcciones del servidor. Use esta vista para comprender y solucionar problemas de los objetos de base de datos administrados de integración clR que se ejecutan en Microsoft SQL Server.

Los ensamblados son archivos DLL de código administrado que se usan para definir e implementar objetos de base de datos administrados en SQL Server. Cada vez que un usuario ejecuta uno de estos objetos de base de datos administrados, SQL Server y CLR cargan el ensamblado (y sus referencias) en el que se define el objeto de base de datos administrada. El ensamblado permanece cargado en SQL Server para aumentar el rendimiento, de modo que se pueda llamar a los objetos de base de datos administrados contenidos en el ensamblado en el futuro con tener que volver a cargar el ensamblado. El ensamblado no se descarga hasta que SQL Server entra bajo presión de memoria. Para obtener más información sobre los ensamblados y la integración de CLR, vea ClR Hosted Environment( Entorno hospedado de CLR). Para obtener más información sobre los objetos de base de datos administrados, vea Building Database Objects with Common Language Runtime (CLR) Integration (Creación de objetos de base de datos con la integración de Common Language Runtime [CLR]).

Nombre de la columna Tipo de datos Descripción
assembly_id int Id. del ensamblado cargado. El assembly_id se puede usar para buscar más información sobre el ensamblado en la vista de catálogo sys.assemblies (Transact-SQL). Tenga en cuenta que el catálogo sys.assemblies de Transact-SQL muestra los ensamblados solo en la base de datos actual. La vista sqs.dm_clr_loaded_assemblies muestra todos los ensamblados cargados en el servidor.
appdomain_address int Dirección del dominio de aplicación (AppDomain) en el que se carga el ensamblado. Todos los ensamblados que pertenecen a un único usuario siempre se cargan en el mismo AppDomain. El appdomain_address se puede usar para buscar más información sobre AppDomain en la vista sys.dm_clr_appdomains .
load_time datetime Hora a la que se cargó el ensamblado. Tenga en cuenta que el ensamblado permanece cargado hasta que SQL Server está bajo presión de memoria y descarga appDomain. Puedes supervisar load_time para comprender con qué frecuencia SQL Server entra bajo presión de memoria y descarga appDomain.

Permisos

es necesario contar con el permiso VIEW SERVER STATE en el servidor.

Permisos para SQL Server 2022 y versiones posteriores

Requiere el permiso VIEW SERVER PERFORMANCE STATE en el servidor.

Observaciones

La vista dm_clr_loaded_assemblies.appdomain_address tiene una relación de varios a uno con dm_clr_appdomains.appdomain_address. La vista dm_clr_loaded_assemblies.assembly_id tiene una relación uno a varios con sys.assemblies.assembly_id.

Ejemplos

En el siguiente ejemplo se muestra cómo ver información detallada de todos los ensamblados que están actualmente cargados en la base de datos activa.

 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;  

En el ejemplo siguiente se muestra cómo ver los detalles del appDomain en el que se carga un ensamblado determinado.

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);  

Consulte también

Vistas de administración dinámica relacionadas con Common Language Runtime (Transact-SQL)