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?

Respuestas:


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

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


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

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'


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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.