SQL Server: como verificar se o CLR está habilitado?


90

SQL Server 2008 - Qual é uma maneira fácil de verificar se clr está habilitado?

Respostas:


133
SELECT * FROM sys.configurations
WHERE name = 'clr enabled'

26
Observação adicional: o valor será 1 se habilitado ou 0 se desabilitado.
Muthukumar

Isso ainda é válido no SQL 2016.
Rashack

35

Verifique config_valuenos resultados desp_configure

Você pode ativar o CLR executando o seguinte:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO

Artigo MSDN sobre como habilitar CLR

Artigo MSDN em sp_configure


3
Não acho que você deva configurar a opção apenas para verificar se está configurada! Sei que vai dizer was 0 now 1, ou algo parecido, mas ...
Josh M.

27

A resposta aceita precisa de um pequeno esclarecimento. A linha estará lá se CLR estiver habilitado ou desabilitado. O valor será 1 se habilitado ou 0 se desabilitado.

Eu uso este script para habilitar em um servidor, se a opção estiver desabilitada:

if not exists(
    SELECT value
    FROM sys.configurations
    WHERE name = 'clr enabled'
     and value = 1
)
begin
    exec sp_configure @configname=clr_enabled, @configvalue=1
    reconfigure
end

1
EXISTS () é ligeiramente mais rápido do que NOT EXISTS (). Apenas uma nota amigável. ;)
clifton_h

3
neste caso, a legibilidade imho supera o desempenho, que para um único uso de dba como esse seria infinitesimal.
Larry Smith de



0

Esta é a resposta de @Jason, mas com saída simplificada

SELECT name, CASE WHEN value = 1 THEN 'YES' ELSE 'NO' END AS 'Enabled'
FROM sys.configurations WHERE name = 'clr enabled'

O acima retorna o seguinte:

| name        | Enabled |
-------------------------
| clr enabled | YES     |

Testado em SQL Server 2017

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.