SQLCLR è la capacità di eseguire il codice .NET all'interno di SQL Server.
Quando le persone parlano di SQLCLR di solito si riferiscono alla capacità di scrivere codice .NET personalizzato (Stored procedure, funzioni, trigger, tipi definiti dall'utente e aggregati definiti dall'utente). In questo caso, questa capacità può essere attivata e disattivata tramite l'opzione server di "clr enabled" all'interno sp_configure
e credo che sia chiamata "Integrazione CLR" nella GUI di configurazione di Surface Area. L'aggiunta della funzionalità .NET richiede l'utilizzo di CREATE ASSEMBLY per caricare il codice .NET compilato in SQL Server.
Tuttavia, anche con l'opzione "clr enabled" impostata su 0
/ "off" / "disabled", la funzionalità CLR è ancora utilizzata per la funzionalità interna e alcune funzioni integrate e sarà sempre presente, a meno che "usa le fibre di Windows" / " l'opzione "pool leggero" è abilitata.
Per una descrizione molto dettagliata di cosa sia SQLCLR e cosa possa fare, vedere l'articolo che ho scritto su questo argomento in SQL Server Central: Stairway to SQLCLR Livello 1: Cos'è SQLCLR? (per visualizzare i contenuti su quel sito è necessaria la registrazione gratuita). Una versione ridotta di questo articolo è disponibile nella seguente risposta StackOverflow: quando è necessaria una funzione CLR in SQL Server? .
Se si desidera sapere se l'istanza consente o meno l' aggiunta di codice .NET personalizzato ai database, eseguire quanto segue e controllare il campo "run_value":
EXEC sp_configure 'clr enabled';
Per quanto riguarda il significato del tipo di attesa SQLCLR in Resource Monitor, consultare il seguente post di blog:
Come funziona: cosa c'è dietro la categoria di attesa SQLCLR in SQL Server 2008 Activity Monitor
e credo che la linea pertinente (per quanto riguarda la categoria SQLCLR che stai guardando) da quel post sia:
Quello che ho scoperto è che molti dei wait_types dovrebbero essere ignorati in quanto si aspettano attese.