시스템 동적 관리 뷰

적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsPlatform System(PDW) SQL 분석 엔드포인트

DMV(동적 관리 뷰) 및 DMF(동적 관리 함수)는 서버 인스턴스의 상태를 모니터링하고, 문제를 진단하고, 성능을 조정하는 데 사용할 수 있는 서버 상태 정보를 반환합니다.

Important

동적 관리 뷰 및 함수는 내부 구현별 상태 데이터를 반환합니다. 해당 스키마 및 반환하는 데이터는 SQL Server의 향후 릴리스에서 변경될 수 있습니다. 따라서 이후 릴리스의 동적 관리 뷰 및 함수는 이 릴리스의 동적 관리 뷰 및 함수와 호환되지 않을 수 있습니다. 예를 들어 이후 SQL Server 릴리스에서 Microsoft는 열 목록의 끝에 열을 추가하여 동적 관리 뷰의 정의를 보강할 수 있습니다. 반환되는 열 수가 애플리케이션을 변경하고 중단될 수 있으므로 프로덕션 코드에서 구문을 SELECT * FROM dynamic_management_view_name 사용하지 않도록 하는 것이 좋습니다.

동적 관리 뷰와 함수에는 두 가지 유형이 있습니다.

  • 서버 범위 동적 관리 뷰 및 함수. 서버에 대한 VIEW SERVER STATE 권한이 필요합니다. SQL Server 2022 이상의 경우 VIEW SERVER PERFORMANCE STATE가 필요하거나 보안과 관련된 몇 가지 DMV에 VIEW SERVER SECURITY STATE가 필요합니다.

  • 데이터베이스 범위 동적 관리 뷰 및 함수. 데이터베이스에 대한 VIEW DATABASE STATE 권한이 필요합니다. SQL Server 2022 이상의 경우 VIEW DATABASE PERFORMANCE STATE가 필요하거나 보안과 관련된 몇 가지 DMV에 VIEW DATABASE SECURITY STATE가 필요합니다.

쿼리 동적 관리 뷰

동적 관리 뷰는 2부, 3부 또는 4부로 구성된 이름을 사용하여 Transact-SQL 문에서 참조할 수 있습니다. 반면에 동적 관리 함수는 2부 또는 3부로 구성된 이름을 사용하여 Transact-SQL 문에서 참조할 수 있습니다. 동적 관리 뷰 및 함수는 한 부분으로 된 이름을 사용하여 Transact-SQL 문에서 참조할 수 없습니다.

모든 동적 관리 뷰 및 함수는 sys 스키마에 있어야 하며 dm_* 명명 규칙을 따라야 합니다. 동적 관리 뷰 또는 함수를 사용하는 경우 sys 스키마를 사용하여 뷰 또는 함수의 이름 앞에 접두사를 지정해야 합니다. 예를 들어 dm_os_wait_stats 동적 관리 뷰를 쿼리하려면 다음 쿼리를 실행합니다.

SELECT wait_type, wait_time_ms
FROM sys.dm_os_wait_stats;

필요한 사용 권한

동적 관리 뷰 또는 함수를 쿼리하려면 개체 및 VIEW SERVER STATE 또는 VIEW DATABASE STATE 권한에 대한 SELECT 권한이 필요합니다. 이렇게 하면 동적 관리 뷰 및 함수에 대한 사용자 또는 로그인 액세스를 선택적으로 제한할 수 있습니다. 이렇게 하려면 먼저 사용자를 master 만든 다음 액세스하지 않으려는 동적 관리 뷰 또는 함수에 대한 사용자 SELECT 권한을 거부합니다. 그 후 사용자는 사용자의 데이터베이스 컨텍스트에 관계없이 이러한 동적 관리 뷰 또는 함수 중에서 선택할 수 없습니다.

참고 항목

DENY가 우선하기 때문에 사용자에게 VIEW SERVER STATE 권한이 부여되었지만 VIEW DATABASE STATE 권한이 거부된 경우 사용자는 서버 수준 정보를 볼 수 있지만 데이터베이스 수준 정보는 볼 수 없습니다.

이 섹션의 내용

동적 관리 뷰 및 함수는 다음 범주로 구분됩니다.