sys.dm_clr_properties (Transact-SQL)
Si applica a: SQL Server Istanza gestita di SQL di Azure Analytics Platform System (PDW)
Restituisce una riga per ogni proprietà correlata all'integrazione CLR (Common Language Runtime) di SQL Server, inclusa la versione e lo stato del CLR ospitato. ClR ospitato viene inizializzato eseguendo le istruzioni CREATE ASSEMBLY, ALTER ASSEMBLY o DROP ASSEMBLY oppure eseguendo qualsiasi routine CLR, tipo o trigger. La vista sys.dm_clr_properties non specifica se l'esecuzione del codice CLR utente è stata abilitata nel server. L'esecuzione del codice CLR utente è abilitata usando la stored procedure sp_configure con l'opzione clr enabled impostata su 1.
La vista sys.dm_clr_properties contiene le colonne nome e valore . 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 in cui è stato installato .NET Framework nel server. Nel computer server potrebbero essere presenti più installazioni di .NET Framework e il valore di questa proprietà identifica l'installazione usata da SQL Server.
La proprietà version indica la versione di .NET Framework e CLR ospitata nel server.
La sys.dm_clr_properties visualizzazione gestita dinamica può restituire sei valori diversi per la proprietà state , che riflette lo stato di SQL Server hosted CLR. Sono:
Mscoree is not loaded.
Mscoree is loaded.
Locked CLR version with mscoree.
CLR is initialized.
CLR initialization permanently failed.
CLR is stopped.
Il Mscoree non viene caricato e gli stati Mscoree vengono caricati mostrano l'avanzamento dell'inizializzazione CLR ospitata all'avvio del server e probabilmente non vengono visualizzati.
La versione CLR bloccata con stato mscoree può essere visualizzata in cui non è in uso CLR ospitato e, di conseguenza, non è ancora stata inizializzata. ClR ospitato viene inizializzato la prima volta che viene eseguita un'istruzione DDL, ad esempio CREATE ASSEMBLY (Transact-SQL) o un oggetto di database gestito.
Lo stato CLR viene inizializzato indica che clR ospitato è stato inizializzato correttamente. Si noti che questo stato non indica se l'esecuzione del codice CLR utente è stata abilitata. Se l'esecuzione del codice CLR utente viene abilitata per la prima volta e quindi disabilitata tramite la stored procedure Transact-SQL sp_configure , il valore di stato sarà comunque CLR inizializzato.
Lo stato di inizializzazione di CLR in modo permanente indica che l'inizializzazione CLR ospitata non è riuscita. La pressione della memoria è probabilmente causata o potrebbe anche essere il risultato di un errore nell'handshake di hosting tra SQL Server e CLR. In questo caso verrà generato il messaggio di errore 6512 o 6513.
Lo stato CLR viene arrestato solo quando SQL Server è in fase di arresto.
Osservazioni:
Le proprietà e i valori di questa vista potrebbero cambiare in una versione futura di SQL Server a causa di miglioramenti della funzionalità di integrazione CLR.
Autorizzazioni
In SQL Server e Istanza gestita di SQL è richiesta l'autorizzazione VIEW SERVER STATE
.
In database SQL obiettivi di servizio Basic, S0 e S1 e per i database nei pool elastici, è necessario l'account amministratore del server, l'account amministratore di Microsoft Entra o l'appartenenza al ruolo del ##MS_ServerStateReader##
server. Per tutti gli altri obiettivi di servizio database SQL, è necessaria l'autorizzazione VIEW DATABASE STATE
per il database o l'adesione ruolo del server ##MS_ServerStateReader##
.
Autorizzazioni per SQL Server 2022 e versioni successive
È richiesta l'autorizzazione VIEW SERVER PERFORMANCE STATE per il server.
Esempi
L'esempio seguente recupera informazioni relative al CLR hosted:
SELECT name, value
FROM sys.dm_clr_properties;
Vedi anche
Funzioni a gestione dinamica e DMV (Transact-SQL)
Viste a gestione dinamica correlate a Common Language Runtime (Transact-SQL)