SQL Server: Làm thế nào để kiểm tra xem CLR đã được bật chưa?


89

SQL Server 2008 - Cách dễ dàng để kiểm tra xem clr đã được kích hoạt chưa?

Câu trả lời:


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

26
Lưu ý bổ sung: Giá trị sẽ là 1 nếu được bật hoặc 0 nếu bị vô hiệu hóa.
Muthukumar

Điều này vẫn hợp lệ trong SQL 2016.
Rashack

34

Kiểm tra config_valuekết quả củasp_configure

Bạn có thể bật CLR bằng cách chạy như sau:

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

MSDN Bài viết về bật CLR

MSDN Bài viết trên sp_configure


3
Tôi không nghĩ rằng bạn thực sự nên định cấu hình tùy chọn chỉ để kiểm tra xem nó đã được định cấu hình chưa! Tôi nhận ra nó sẽ nói was 0 now 1, hoặc tương tự, nhưng ...
Josh M.

27

Câu trả lời được chấp nhận cần được làm rõ một chút. Hàng sẽ ở đó nếu CLR được bật hoặc tắt. Giá trị sẽ là 1 nếu được bật hoặc 0 nếu bị vô hiệu hóa.

Tôi sử dụng tập lệnh này để bật trên máy chủ, nếu tùy chọn bị tắt:

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 () nhanh hơn một chút so với NOT EXISTS (). Chỉ là một lưu ý thân thiện. ;)
clifton_h

3
trong trường hợp này, khả năng đọc của imho vượt trội hơn hiệu suất, mà đối với việc sử dụng dba một shot như thế này sẽ là vô số.
Larry Smith



0

Đây là câu trả lời của @ Jason nhưng với đầu ra đơn giản hóa

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

Ở trên trả về như sau:

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

Đã thử nghiệm trên SQL Server 2017

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.