Condividi tramite


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)