Share via


sys.dm_clr_properties(Transact-SQL)

적용 대상:SQL ServerAzure SQL Managed InstanceAnalytics Platform System(PDW)

호스트된 CLR의 버전 및 상태를 포함하여 SQL Server CLR(공용 언어 런타임) 통합과 관련된 각 속성에 대한 행을 반환합니다. 호스트된 CLR은 CREATE ASSEMBLY, ALTER ASSEMBLY 또는 DROP ASSEMBLY 문을 실행하거나 CLR 루틴, 형식 또는 트리거를 실행하여 초기화됩니다. sys.dm_clr_properties 보기는 서버에서 사용자 CLR 코드 실행을 사용하도록 설정했는지 여부를 지정하지 않습니다. clr 사용 옵션이 1로 설정된 sp_configure 저장 프로시저를 사용하여 사용자 CLR 코드 실행을 사용하도록 설정합니다.

sys.dm_clr_properties 보기에는 이름 열이 포함됩니다. 이 뷰의 각 행은 호스팅된 CLR의 속성에 대한 세부 정보를 제공합니다. 이 보기를 사용하여 CLR 설치 디렉터리, CLR 버전 및 호스트된 CLR의 현재 상태와 같은 호스트된 CLR에 대한 정보를 수집합니다. 이 보기는 서버 컴퓨터의 CLR 설치 문제로 인해 CLR 통합 코드가 작동하지 않는지 확인하는 데 도움이 될 수 있습니다.

열 이름 데이터 형식 설명
이름 nvarchar(128) 속성의 이름입니다.
value nvarchar(128) 속성 값입니다.

속성

디렉터리 속성은 .NET Framework가 서버에 설치된 디렉터리를 나타냅니다. 서버 컴퓨터에 .NET Framework를 여러 번 설치할 수 있으며 이 속성의 값은 SQL Server에서 사용 중인 설치를 식별합니다.

버전 속성은 서버에서 .NET Framework 및 호스트된 CLR의 버전을 나타냅니다.

sys.dm_clr_properties 동적 관리형 뷰는 SQL Server 호스팅 CLR의 상태를 반영하는 상태 속성에 대해 6가지 값을 반환할 수 있습니다. 화면은 다음과 같습니다.

  • Mscoree가 로드되지 않습니다.

  • Mscoree is loaded.

  • Locked CLR version with mscoree.

  • CLR이 초기화됩니다.

  • CLR 초기화가 영구적으로 실패했습니다.

  • CLR이 중지되었습니다.

Mscoree가 로드되지않고 Mscoree가 로드된 상태에서는 서버 시작 시 호스트된 CLR 초기화의 진행률이 표시되며 표시되지 않을 수 있습니다.

mscoree 상태의 잠긴 CLR 버전은 호스트된 CLR이 사용되지 않아 아직 초기화되지 않은 위치를 확인할 수 있습니다. 호스트된 CLR은 DDL 문(예: CREATE ASSEMBLY(Transact-SQL)) 또는 관리되는 데이터베이스 개체가 처음 실행될 때 초기화됩니다.

CLR이 초기화된 상태는 호스트된 CLR이 성공적으로 초기화되었음을 나타냅니다. 이는 사용자 CLR 코드 실행을 사용하도록 설정했는지 여부를 나타내지 않습니다. 사용자 CLR 코드의 실행을 먼저 사용하도록 설정한 다음 Transact-SQL sp_configure 저장 프로시저를 사용하여 사용하지 않도록 설정하면 상태 값은 여전히 CLR이 초기화됩니다.

CLR 초기화가 영구적으로 실패한 상태는 호스트된 CLR 초기화가 실패했음을 나타냅니다. 메모리 압력이 원인일 수 있거나 SQL Server와 CLR 간의 호스팅 핸드셰이크에서 오류가 발생한 결과일 수도 있습니다. 이 경우 오류 메시지 6512 또는 6513이 발생합니다.

CLR이 중지된 상태는 SQL Server가 종료되는 동안에만 표시됩니다.

설명

CLR 통합 기능의 향상된 기능으로 인해 이 보기의 속성과 값은 이후 버전의 SQL Server에서 변경될 수 있습니다.

사용 권한

SQL Server 및 SQL Managed Instance에서는 VIEW SERVER STATE 권한이 필요합니다.

SQL Database Basic, S0S1 서비스 목표 및 탄력적 풀의 데이터베이스에는 서버 관리자 계정, Microsoft Entra 관리자 계정 또는 서버 역할##MS_ServerStateReader##멤버 자격이 필요합니다. 다른 모든 SQL Database 서비스 목표에 대해서는 데이터베이스에 대한 VIEW DATABASE STATE 권한 또는 ##MS_ServerStateReader## 서버 역할의 멤버 자격이 필요합니다.

SQL Server 2022 이상에 대한 권한

서버에 대한 VIEW SERVER PERFORMANCE STATE 권한이 필요합니다.

예제

다음 예제에서는 호스트된 CLR에 대한 정보를 검색합니다.

SELECT name, value   
FROM sys.dm_clr_properties;  

참고 항목

동적 관리 뷰 및 함수(Transact-SQL)
공용 언어 런타임 관련 동적 관리 뷰(Transact-SQL)