SQL Server 2008 - วิธีง่ายๆในการตรวจสอบว่าเปิดใช้งาน clr คืออะไร
SQL Server 2008 - วิธีง่ายๆในการตรวจสอบว่าเปิดใช้งาน clr คืออะไร
คำตอบ:
SELECT * FROM sys.configurations
WHERE name = 'clr enabled'
ตรวจสอบconfig_value
ผลลัพธ์ของsp_configure
คุณสามารถเปิดใช้งาน CLR ได้โดยเรียกใช้สิ่งต่อไปนี้:
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO
was 0 now 1
หรือคล้ายกัน แต่ ...
คำตอบที่ยอมรับต้องการคำชี้แจงเล็กน้อย แถวจะอยู่ที่นั่นหากเปิดหรือปิดใช้งาน CLR ค่าจะเป็น 1 หากเปิดใช้งานหรือ 0 หากปิดใช้งาน
ฉันใช้สคริปต์นี้เพื่อเปิดใช้งานบนเซิร์ฟเวอร์หากปิดใช้งานตัวเลือก:
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
select *
from sys.configurations
where name = 'clr enabled'
ผลลัพธ์ที่ถูกต้องสำหรับฉันกับ SQL Server 2017:
USE <DATABASE>;
EXEC sp_configure 'clr enabled' ,1
GO
RECONFIGURE
GO
EXEC sp_configure 'clr enabled' -- make sure it took
GO
USE <DATABASE>
GO
EXEC sp_changedbowner 'sa'
USE <DATABASE>
GO
ALTER DATABASE <DATABASE> SET TRUSTWORTHY ON;
จากเกิดข้อผิดพลาดใน Microsoft .NET Framework ขณะพยายามโหลดรหัสแอสเซมบลี 65675
นี่คือคำตอบของ @ Jason แต่มีเอาต์พุตที่เรียบง่าย
SELECT name, CASE WHEN value = 1 THEN 'YES' ELSE 'NO' END AS 'Enabled'
FROM sys.configurations WHERE name = 'clr enabled'
ข้างต้นส่งคืนสิ่งต่อไปนี้:
| name | Enabled |
-------------------------
| clr enabled | YES |
ทดสอบบน SQL Server 2017