Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se: SQL Server
Retorna uma linha para cada assembly gerenciado pelo usuário, carregada no espaço de endereço do servidor. Use essa exibição para entender e solucionar problemas de objetos de banco de dados gerenciados de integração CLR que estão sendo executados no Microsoft SQL Server.
Assemblies são arquivos DLL de código gerenciado usados para definir e implantar objetos de banco de dados gerenciados no SQL Server. Sempre que um usuário executa um desses objetos de banco de dados gerenciado, o SQL Server e o CLR carregam o assembly (e suas referências) no qual o objeto de banco de dados gerenciado é definido. O assembly permanece carregado no SQL Server para aumentar o desempenho, para que os objetos de banco de dados gerenciados contidos no assembly possam ser chamados no futuro sem precisar recarregar o assembly. O assembly não é descarregado até que o SQL Server fique sob pressão de memória. Para obter mais informações sobre assemblies e integração CLR, consulte Ambiente hospedado CLR. Para obter mais informações sobre objetos de banco de dados gerenciados, consulte Criando objetos de banco de dados com integração CLR (Common Language Runtime).
| Nome da coluna | Tipo de dados | Descrição |
|---|---|---|
| assembly_id | int | ID do assembly carregado. O assembly_id pode ser usado para pesquisar mais informações sobre o assembly na exibição de catálogo sys.assemblies (Transact-SQL). Observe que o catálogo sys.assemblies do Transact-SQL mostra assemblies somente no banco de dados atual. A exibição sqs.dm_clr_loaded_assemblies mostra todos os assemblies carregados no servidor. |
| appdomain_address | int | Endereço do domínio do aplicativo (AppDomain) no qual o assembly é carregado. Todos os assemblies pertencentes a um único usuário são sempre carregados no mesmo AppDomain. O appdomain_address pode ser usado para pesquisar mais informações sobre o AppDomain no modo de exibição sys.dm_clr_appdomains . |
| load_time | datetime | Hora em que o assembly foi carregado. Observe que o assembly permanece carregado até que o SQL Server esteja sob pressão de memória e descarregue o AppDomain. Você pode monitorar load_time para entender com que frequência o SQL Server fica sob pressão de memória e descarrega o AppDomain. |
Permissões
, é necessário ter permissão VIEW SERVER STATE no servidor.
Permissões do SQL Server 2022 e posteriores
É necessária a permissão VIEW SERVER PERFORMANCE STATE no servidor.
Comentários
A exibição dm_clr_loaded_assemblies.appdomain_address tem uma relação muitos para um com dm_clr_appdomains.appdomain_address. A exibição dm_clr_loaded_assemblies.assembly_id tem uma relação um-para-muitos com sys.assemblies.assembly_id.
Exemplos
O exemplo a seguir mostra como exibir detalhes de todos os assemblies no banco de dados atual atualmente carregados.
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;
O exemplo a seguir mostra como exibir detalhes do AppDomain no qual um determinado assembly é carregado.
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);
Confira também
Exibições de gerenciamento dinâmico relacionadas ao Common Language Runtime (Transact-SQL)