SQL Server: Bagaimana cara memeriksa apakah CLR diaktifkan?


Jawaban:


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

26
Catatan Tambahan: Nilai akan menjadi 1 jika diaktifkan, atau 0 jika dinonaktifkan.
Muthukumar

Ini masih berlaku di SQL 2016.
Rashack

35

Periksa config_valuedi hasilsp_configure

Anda dapat mengaktifkan CLR dengan menjalankan berikut ini:

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

Artikel MSDN tentang mengaktifkan CLR

Artikel MSDN tentang sp_configure


3
Saya tidak berpikir Anda harus benar-benar mengonfigurasi opsi hanya untuk memeriksa apakah sudah dikonfigurasi! Saya menyadari itu akan mengatakan was 0 now 1, atau serupa, tapi ...
Josh M.

27

Jawaban yang diterima membutuhkan sedikit klarifikasi. Baris akan ada di sana jika CLR diaktifkan atau dinonaktifkan. Nilai akan menjadi 1 jika diaktifkan, atau 0 jika dinonaktifkan.

Saya menggunakan skrip ini untuk mengaktifkan di server, jika opsi ini dinonaktifkan:

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 () sedikit lebih cepat daripada TIDAK ADA (). Hanya catatan ramah. ;)
clifton_h

3
dalam hal ini keterbacaan mengalahkan kinerja, yang untuk satu tembakan dba penggunaan seperti ini akan sangat kecil.
Larry Smith



0

Ini adalah jawaban @ Jason tetapi dengan output yang disederhanakan

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

Di atas mengembalikan yang berikut:

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

Diuji di SQL Server 2017

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.