sys.dm_clr_properties (Transact-SQL)
Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure Analytics Platform System (PDW)
Retorna uma linha para cada propriedade relacionada à integração do CLR (Common Language Runtime) do SQL Server, incluindo a versão e o estado do CLR hospedado. O CLR hospedado é inicializado executando as instruções CREATE ASSEMBLY, ALTER ASSEMBLY ou DROP ASSEMBLY ou executando qualquer rotina, tipo ou gatilho CLR. A exibição sys.dm_clr_properties não especifica se a execução do código CLR do usuário foi habilitada no servidor. A execução do código CLR do usuário é habilitada usando o procedimento armazenado sp_configure com a opção clr enabled definida como 1.
A exibição sys.dm_clr_properties contém as colunas de nome e valor . Cada linha nesta exibição fornece detalhes sobre uma propriedade do CLR hospedado. Use esta exibição para coletar informações sobre o CLR hospedado, como o diretório de instalação do CLR, a versão do CLR e o estado atual do CLR hospedado. Esta exibição poderá ajudá-lo a determinar se o código de integração CLR não está funcionando devido a problemas com a instalação de CLR no computador do servidor.
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
name | nvarchar(128) | O nome da propriedade. |
value | nvarchar(128) | Valor da propriedade. |
Propriedades
A propriedade directory indica o diretório no qual o .NET Framework foi instalado no servidor. Pode haver várias instalações do .NET Framework no computador servidor e o valor dessa propriedade identifica qual instalação o SQL Server está usando.
A propriedade version indica a versão do .NET Framework e do CLR hospedado no servidor.
A sys.dm_clr_properties exibição gerenciada dinâmica pode retornar seis valores diferentes para a propriedade state , que reflete o estado do CLR hospedado no SQL Server. Eles são:
Mscoree não está carregado.
Mscoree está carregado.
Versão de CLR bloqueada com mscoree.
CLR é inicializado.
Inicialização de CLR falhou permanentemente.
CLR é interrompido.
Os estados Mscoree não é carregado e Mscoree é carregado mostram a progressão da inicialização do CLR hospedado na inicialização do servidor e provavelmente não serão vistos.
A versão do CLR bloqueado com o estado mscoree pode ser vista onde o CLR hospedado não está sendo usado e, portanto, ainda não foi inicializado. O CLR hospedado é inicializado na primeira vez que uma instrução DDL (como CREATE ASSEMBLY (Transact-SQL)) ou um objeto de banco de dados gerenciado é executado.
O estado CLR é inicializado indica que o CLR hospedado foi inicializado com êxito. Observe que isso não indica se a execução do código CLR do usuário foi habilitada. Se a execução do código CLR do usuário for habilitada primeiro e, em seguida, desabilitada usando o procedimento armazenado Transact-SQL sp_configure , o valor do estado ainda será CLR inicializado.
O estado de falha permanente da inicialização do CLR indica que a inicialização do CLR hospedado falhou. A pressão de memória é uma causa provável ou também pode ser o resultado de uma falha no handshake de hospedagem entre o SQL Server e o CLR. Nesse caso, será gerada a mensagem de erro 6512 ou 6513.
O estado CLR é interrompido só é visto quando o SQL Server está em processo de desligamento.
Comentários
As propriedades e os valores dessa exibição podem ser alterados em uma versão futura do SQL Server devido a aprimoramentos da funcionalidade de integração do CLR.
Permissões
No SQL Server e na Instância Gerenciada de SQL, requer a permissão VIEW SERVER STATE
.
Nos objetivos de serviço do Banco de Dados SQL Básico, S0 e S1 e para bancos de dados em pools elásticos, é necessário ter a conta do administrador do servidor, a conta do administrador do Microsoft Entra ou a associação à ##MS_ServerStateReader##
função de servidor. Em todos os outros objetivos de serviço do Banco de Dados SQL, a permissão VIEW DATABASE STATE
no banco de dados ou a associação à função de servidor ##MS_ServerStateReader##
são necessárias.
Permissões do SQL Server 2022 e posteriores
É necessária a permissão VIEW SERVER PERFORMANCE STATE no servidor.
Exemplos
O exemplo a seguir recupera informações sobre o CLR hospedado:
SELECT name, value
FROM sys.dm_clr_properties;
Confira também
Exibições e funções de gerenciamento dinâmico (Transact-SQL)
Exibições de gerenciamento dinâmico relacionadas ao Common Language Runtime (Transact-SQL)