SQL Server: CLR'nin etkin olup olmadığı nasıl kontrol edilir?


90

SQL Server 2008 - clr'nin etkin olup olmadığını kontrol etmenin kolay bir yolu nedir?

Yanıtlar:


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

26
Ek Not: Değer, etkinleştirilirse 1 veya devre dışı bırakılırsa 0 olur.
Muthukumar

Bu hala SQL 2016'da geçerlidir.
Rashack

35

config_valueSonuçlarını kontrol edinsp_configure

Aşağıdakileri çalıştırarak CLR'yi etkinleştirebilirsiniz:

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

CLR'yi etkinleştirmeyle ilgili MSDN Makalesi

Sp_configure üzerinde MSDN Makalesi


3
Sadece yapılandırılıp yapılandırılmadığını kontrol etmek için seçeneği gerçekten yapılandırmanız gerektiğini düşünmüyorum! was 0 now 1
Josh M.

27

Kabul edilen cevabın biraz açıklamaya ihtiyacı var. CLR etkinleştirilmiş veya devre dışı bırakılmışsa satır orada olacaktır. Değer, etkinleştirilirse 1 veya devre dışı bırakılırsa 0 olur.

Seçenek devre dışı bırakılmışsa, bir sunucuda etkinleştirmek için bu komut dosyasını kullanıyorum:

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 (), NOT EXISTS () 'den biraz daha hızlıdır. Sadece dostça bir not. ;)
clifton_h

3
bu durumda imho okunabilirliği performanstan üstündür ve bunun gibi tek atışlık bir dba kullanımı için sonsuz küçük olacaktır.
Larry Smith

3
select *
from sys.configurations
where name = 'clr enabled'


0

Bu @ Jason'ın cevabı, ancak basitleştirilmiş çıktı

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

Yukarıdakiler şunu döndürür:

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

SQL Server 2017'de test edildi

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.