sys.dm_clr_properties (Transact-SQL)
Restituisce una riga per ogni proprietà associata all'integrazione di SQL Server con Common Language Runtime (CLR), inclusi la versione e lo stato del CLR hosted. È possibile inizializzare il CLR hosted eseguendo l'istruzione CREATE ASSEMBLY, ALTER ASSEMBLY o DROP ASSEMBLY oppure qualsiasi routine, tipo o trigger CLR. Nella vista sys.dm_clr_properties non viene specificato se nel server è stata abilitata l'esecuzione del codice CLR utente. Per abilitare l'esecuzione del codice CLR utente, utilizzare la stored procedure sp_configure con l'opzione clr enabled impostata su 1.
La vista sys.dm_clr_properties contiene le colonne name e value. Ogni riga della vista include dettagli su una proprietà del CLR hosted. È possibile utilizzare questa vista per raccogliere informazioni sul CLR hosted, ad esempio la directory di installazione di CLR, la versione di CLR e lo stato corrente del CLR hosted. La vista consente inoltre di determinare se il codice dell'integrazione con CLR non funziona a causa di problemi relativi all'installazione di CLR nel computer server.
Nome colonna |
Tipo di dati |
Descrizione |
---|---|---|
name |
nvarchar(128) |
Nome della proprietà. |
value |
nvarchar(128) |
Valore della proprietà. |
Proprietà
La proprietà directory indica la directory di installazione di .NET Framework nel server. Nel computer server possono essere presenti più installazioni di .NET Framework. Il valore di questa proprietà identifica l'installazione utilizzata da SQL Server.
La proprietà version indica la versione di .NET Framework e del CLR hosted nel server.
La vista a gestione dinamica sys.dm_clr_properties può restituire sei diversi valori per la proprietà state, che riflette lo stato del CLR hosted di SQL Server. I valori sono i seguenti:
Mscoree is not loaded.
Mscoree is loaded.
Locked CLR version with mscoree.
CLR is initialized.
CLR initialization permanently failed.
CLR is stopped.
Gli stati Mscoree is not loaded e Mscoree is loaded indicano l'avanzamento dell'inizializzazione del CLR hosted all'avvio del server ed è probabile che non vengano visualizzati.
Lo stato Locked CLR version with mscoree può essere visualizzato se il CLR hosted non è in uso e pertanto non è ancora stato inizializzato. Il CLR hosted viene inizializzato alla prima esecuzione di un'istruzione DDL, ad esempio CREATE ASSEMBLY (Transact-SQL), o di un oggetto di un database gestito.
Lo stato CLR is initialized indica che l'inizializzazione del CLR hosted è stata completata. Si noti che questo stato non indica se l'esecuzione del codice CLR utente è stata abilitata. Se l'esecuzione del codice CLR utente viene prima abilitata e quindi disabilitata utilizzando la stored procedure Transact-SQLsp_configure, il valore dello stato rimarrà CLR is initialized.
Lo stato CLR initialization permanently failed indica che l'inizializzazione del CLR hosted non è riuscita. Le possibili cause sono la scarsa disponibilità di memoria o un errore nell'handshake host tra SQL Server e il CLR. In questo caso verrà generato il messaggio di errore 6512 o 6513.
Lo stato CLR is stopped state viene visualizzato solo se è in corso la chiusura di SQL Server.
Osservazioni
È possibile che le proprietà e i valori di questa vista vengano modificati in una versione futura di SQL Server in seguito a un miglioramento della funzionalità di integrazione con CLR.
Autorizzazioni
È richiesta l'autorizzazione VIEW SERVER STATE nel server.
Esempi
L'esempio seguente recupera informazioni relative al CLR hosted:
select name, value
from sys.dm_clr_properties