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

90

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

magnático
fonte

Respostas:

133
SELECT * FROM sys.configurations
WHERE name = 'clr enabled'
Jason
fonte
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

codingbadger
fonte
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
Larry Smith
fonte
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
3
select *
from sys.configurations
where name = 'clr enabled'
lua de toranja
fonte
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

Mason Schmidgall
fonte