Partilhar via


sys.dm_clr_properties (Transact-SQL)

Aplica-se a: SQL Server PDW (Sistema de Plataforma de Análise) da Instância Gerenciada de SQL do Azure

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 Básico, S0 e S1 do Banco de Dados SQL e para bancos de dados em pools elásticos, a conta de administrador do servidor, a conta de administrador do Microsoft Entra ou a ##MS_ServerStateReader## associação na função de servidor são necessárias. 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)