SQLCLR é a capacidade de executar o código .NET no SQL Server.
Quando as pessoas falam de SQLCLR, geralmente se referem à capacidade de escrever código .NET personalizado (procedimentos armazenados, funções, disparadores, tipos definidos pelo usuário e agregados definidos pelo usuário). Nesse caso, essa capacidade pode ser ativada e desativada através da opção do servidor "clr enabled" dentro sp_configure
, e acredito que seja chamada "Integração CLR" na GUI de configuração da área de superfície. Adicionar funcionalidade .NET requer o uso de CREATE ASSEMBLY para carregar o código .NET compilado no SQL Server.
No entanto, mesmo com a opção "clr enabled" configurada como 0
/ "off" / "disabled", a funcionalidade CLR ainda é usada para funcionalidade interna e algumas funções internas e sempre estará lá, a menos que a opção "use fibres do Windows" / " opção pool leve "está ativada.
Para obter uma descrição muito detalhada do que o SQLCLR é, não é e o que ele pode fazer, consulte o artigo que escrevi sobre este tópico no SQL Server Central: Stairway to SQLCLR Nível 1: O que é SQLCLR? (é necessário registro gratuito para visualizar o conteúdo desse site). Uma versão simplificada desse artigo está disponível na seguinte resposta StackOverflow: Quando precisamos de uma função CLR no SQL Server? .
Se você deseja saber se a instância está ou não permitindo que o código .NET personalizado seja adicionado aos bancos de dados, execute o seguinte e verifique o campo "run_value":
EXEC sp_configure 'clr enabled';
Com relação ao significado do tipo de espera SQLCLR no Monitor de Recursos, consulte a seguinte postagem no blog:
Como funciona: O que está por trás da categoria de espera SQLCLR no SQL Server 2008 Activity Monitor
e acredito que a linha pertinente (no que se refere à categoria SQLCLR que você está vendo) desse post é:
O que descobri foi que vários dos wait_types devem ser ignorados, pois são esperados.