SQL Server: Wie kann ich überprüfen, ob CLR aktiviert ist?

88

SQL Server 2008 - Wie kann auf einfache Weise überprüft werden, ob clr aktiviert ist?

großmütig
quelle

Antworten:

130
SELECT * FROM sys.configurations
WHERE name = 'clr enabled'
Jason
quelle
26
Zusätzlicher Hinweis: Der Wert ist 1, wenn aktiviert, oder 0, wenn deaktiviert.
Muthukumar
Dies ist immer noch gültig in SQL 2016.
Rashack
34

Überprüfen Sie die config_valuein den Ergebnissen vonsp_configure

Sie können CLR aktivieren, indem Sie Folgendes ausführen:

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

MSDN-Artikel zum Aktivieren von CLR

MSDN-Artikel zu sp_configure

Codierungsbadger
quelle
3
Ich denke nicht, dass Sie die Option tatsächlich konfigurieren sollten, nur um zu überprüfen, ob sie konfiguriert ist! Mir ist klar, dass es sagen was 0 now 1wird oder ähnlich, aber ...
Josh M.
27

Die akzeptierte Antwort bedarf einer kleinen Klarstellung. Die Zeile wird dort angezeigt, wenn CLR aktiviert oder deaktiviert ist. Der Wert ist 1, wenn aktiviert, oder 0, wenn deaktiviert.

Ich verwende dieses Skript, um es auf einem Server zu aktivieren, wenn die Option deaktiviert ist:

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
quelle
1
EXISTS () ist etwas schneller als NOT EXISTS (). Nur eine freundliche Nachricht. ;)
clifton_h
3
In diesem Fall übertrifft die Lesbarkeit imho die Leistung, was für eine solche Verwendung von dba infinitesimal infinitesimal wäre.
Larry Smith
3
select *
from sys.configurations
where name = 'clr enabled'
Grapefruitmond
quelle
0

Dies ist die Antwort von @ Jason, jedoch mit vereinfachter Ausgabe

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

Das Obige gibt Folgendes zurück:

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

Getestet auf SQL Server 2017

Mason Schmidgall
quelle