clr enabled(서버 구성 옵션)
적용 대상:SQL Server
clr enabled
옵션을 사용하여 SQL Server에서 사용자 어셈블리를 실행할 수 있는지 여부를 지정합니다. clr enabled
옵션은 다음 값을 제공합니다.
값 | 설명 |
---|---|
0 | SQL Server에서 어셈블리를 실행할 수 없습니다. |
1 | SQL Server에서 어셈블리를 실행할 수 있습니다. |
WOW64에만 해당: 이러한 변경 내용을 적용하려면 WOW64 서버를 다시 시작합니다. 다른 서버 유형의 경우 다시 시작할 필요가 없습니다.
RECONFIGURE를 실행하고 clr enabled
옵션을 1에서 0으로 변경하면 사용자 어셈블리가 포함된 모든 애플리케이션 도메인이 즉시 언로드됩니다.
Important
CLR(공용 언어 런타임) 실행은 경량 풀링에서 지원되지 않습니다. "clr enabled" 또는 "lightweight pooling"의 두 가지 옵션 중 하나를 사용하지 않도록 설정하세요. CLR을 사용하며 파이버 모드에서 제대로 작동하지 않는 기능으로 hierarchyid 데이터 형식, FORMAT
함수, 복제 및 정책 기반 관리가 있습니다. 자세한 내용은 경량 풀링 서버 구성 옵션을 참조하세요.
Warning
CLR은 더 이상 보안 경계로 지원되지 않는 .NET Framework의 CAS(코드 액세스 보안)를 사용합니다. PERMISSION_SET = SAFE
로 만든 CLR 어셈블리에서 외부 시스템 리소스에 액세스하고, 비관리 코드를 호출하고, sysadmin 권한을 얻을 수 있습니다. SQL Server 2017(14.x)부터 CLR 어셈블리의 보안을 강화하기 위해 clr strict security
라는 sp_configure
옵션이 도입되었습니다. clr strict security
는 기본적으로 사용되며 SAFE
및 EXTERNAL_ACCESS
어셈블리가 UNSAFE
로 표시된 것처럼 처리됩니다. clr strict security
옵션은 이전 버전과의 호환성을 위해 사용하지 않도록 설정할 수 있지만 권장하지는 않습니다. 모든 어셈블리는 master 데이터베이스에서 UNSAFE ASSEMBLY
권한이 부여된 해당 로그인이 포함된 인증서 또는 비대칭 키로 서명하는 것이 좋습니다. 또한 SQL Server 관리자는 데이터베이스 엔진에서 신뢰해야 하는 어셈블리 목록에 어셈블리를 추가할 수도 있습니다. 자세한 내용은 sys.sp_add_trusted_assembly를 참조하세요.
참고 항목
Azure SQL 데이터베이스에서 clr enabled
구성 옵션이 활성화되었더라도 CLR 사용자 함수 개발은 Azure SQL 데이터베이스에서 지원되지 않습니다.
예시
다음 예제에서는 먼저 clr enabled
옵션의 현재 설정을 표시한 다음 옵션 값을 1로 설정하여 옵션을 사용하도록 설정합니다. 이 옵션을 사용하지 않으려면 이 값을 0으로 설정합니다.
EXEC sp_configure 'clr enabled';
EXEC sp_configure 'clr enabled' , '1';
RECONFIGURE;
다음 단계
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기