SQL Server: Bagaimana cara memeriksa apakah CLR diaktifkan?

90

SQL Server 2008 - Apa cara mudah untuk memeriksa apakah clr diaktifkan?

magnattic
sumber

Jawaban:

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

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

Mason Schmidgall
sumber