SQL Server: ¿Cómo comprobar si CLR está habilitado?

89

SQL Server 2008: ¿cuál es una forma sencilla de comprobar si clr está habilitado?

magnático
fuente

Respuestas:

132
SELECT * FROM sys.configurations
WHERE name = 'clr enabled'
Jason
fuente
26
Nota adicional: el valor será 1 si está habilitado, o 0 si está deshabilitado.
Muthukumar
Esto sigue siendo válido en SQL 2016.
Rashack
34

Consulta config_valuelos resultados desp_configure

Puede habilitar CLR ejecutando lo siguiente:

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

Artículo de MSDN sobre cómo habilitar CLR

Artículo de MSDN sobre sp_configure

codificador
fuente
3
¡No creo que debas configurar la opción solo para verificar si está configurada! Sé que dirá was 0 now 1, o similar, pero ...
Josh M.
27

La respuesta aceptada necesita una pequeña aclaración. La fila estará allí si CLR está habilitado o deshabilitado. El valor será 1 si está habilitado, o 0 si está deshabilitado.

Utilizo este script para habilitarlo en un servidor, si la opción está deshabilitada:

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
fuente
1
EXISTS () es un poco más rápido que NO EXISTS (). Solo una nota amistosa. ;)
clifton_h
3
en este caso, en mi humilde opinión, la legibilidad triunfa sobre el rendimiento, que para un uso de dba de un solo disparo como este sería infinitesimal.
Larry Smith
3
select *
from sys.configurations
where name = 'clr enabled'
toronja
fuente
0

Esta es la respuesta de @ Jason pero con una salida simplificada

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

Lo anterior devuelve lo siguiente:

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

Probado en SQL Server 2017

Mason Schmidgall
fuente