[sql] SQL Server : 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

CLR 활성화에 대한 MSDN 문서

sp_configure에 대한 MSDN 문서


답변

허용되는 답변에는 약간의 설명이 필요합니다. 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;

에서 로드 어셈블리 ID 65675을하는 동안 Microsoft .NET Framework에서 오류가 발생했습니다


답변

이것은 @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에서 테스트 됨


답변