Share via


sys.dm_clr_properties (Transact-SQL)

Retorna uma linha para cada propriedade relacionada à integração common language runtime (CLR) do SQL Server, incluindo a versão e o estado de CLR hospedado. O CLR hospedado é inicializado executando as instruções CREATE ASSEMBLY, ALTER ASSEMBLYou DROP ASSEMBLY, ou executando qualquer rotina CLR, tipo ou gatilho. A exibição sys.dm_clr_properties não especifica se a execução de código CLR do usuário foi habilitada no servidor. A execução de 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 name e value. 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.

valor

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 do servidor e o valor dessa propriedade identifica qual SQL Server de instalação está sendo usada.

A propriedade version indica a versão do .NET Framework e do CLR hospedado no servidor.

A exibição gerenciada dinâmica sys.dm_clr_properties pode retornar seis valores diferentes para a propriedade state, que reflete o estado do CLR hospedado SQL Server. São eles:

  • 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.

O Mscoree is not loaded e Mscoree is loaded declara mostra a progressão da inicialização de CLR hospedado na inicialização do servidor e não é provável que seja visto.

O estado Locked CLR version with mscoree pode ser visto quando o CLR hospedado não está sendo usado e, portanto, ainda não foi inicializado. O CLR hospedado será inicializado na primeira vez em que uma instrução DDL (como CREATE ASSEMBLY (Transact-SQL)) ou um objeto de banco de dados gerenciado for executado.

O estado CLR is initialized 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 de usuário tiver sido primeiro habilitada e, em seguida, desabilitada usando o procedimento armazenado Transact-SQLsp_configure, o valor de estado ainda será CLR is initialized.

O estado CLR initialization permanently failed indica que a inicialização do CLR hospedado falhou. A pressão de memória é uma causa provável ou também poderia ser o resultado de uma falha no handshake de hospedagem entre SQL Server e o CLR. Nesse caso, será gerada a mensagem de erro 6512 ou 6513.

O CLR is stopped state só é visto quando SQL Server estiver no processo de desligamento.

Comentários

As propriedades e valores dessa exibição podem ser alterados em uma versão futura de SQL Server devido a aprimoramentos da funcionalidade da integração CLR.

Permissões

Requer a permissão VIEW SERVER STATE no servidor.

Exemplos

O exemplo a seguir recupera informações sobre o CLR hospedado:

select name, value 
from sys.dm_clr_properties