적용 대상:SQL 서버
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Microsoft Fabric
의 SQL 분석 엔드포인트Microsoft Fabric
의 웨어하우스Microsoft Fabric의 SQL 데이터베이스
동적 관리 객체에는 동적 관리 뷰 (DMV)와 동적 관리 함수 (DMF)가 포함됩니다. 이 객체들은 서버 상태 정보를 반환하여 서버 인스턴스의 건강 상태를 모니터링하고 문제를 진단하며 성능을 조정하는 데 활용합니다.
동적 관리 객체는 서버 범위 또는 데이터베이스 범위 형태로 구성됩니다.
동적 관리 객체 쿼리
모든 동적 관리 객체는 스키마 내에 sys 존재하며 명명 규칙 dm_*을 따릅니다.
동적 관리 객체를 사용할 때는 스키마를 사용하여 sys 객체 이름 앞에 접두어를 넣어야 합니다. 예를 들어, 동적 관리 뷰를 dm_os_wait_stats 쿼리하려면 다음 쿼리를 실행하세요:
SELECT wait_type,
wait_time_ms
FROM sys.dm_os_wait_stats;
다음 표는 Transact-SQL에서 동적 관리 객체를 참조하는 방법을 설명합니다:
| T-SQL 참조 | 동적 관리 뷰(Dynamic management view) | 동적 관리 기능 |
|---|---|---|
| 단일 부분 명명 | No | No |
| 두 부분으로 나누는 명명 | Yes | Yes |
| 세 부분 명명 | Yes | Yes |
| 네 부분 명명 | Yes | No |
비고
동적 관리 객체는 내부적이고 구현 특화된 상태 데이터를 반환합니다. 이들의 스키마와 반환되는 데이터는 향후 데이터베이스 엔진 릴리스에서 변경될 수 있습니다. 따라서 향후 릴리스의 동적 관리 객체는 이번 릴리스의 동적 관리 객체와 호환되지 않을 수 있습니다.
예를 들어, 향후 데이터베이스 엔진 릴리스에서는 Microsoft가 동적 관리 뷰의 정의를 보완하여 열 목록 끝에 열을 추가할 수 있습니다. 프로덕션 코드에서는 문법 SELECT * FROM dynamic_management_view_name 을 사용하지 마세요. 반환되는 열 수가 변해 애플리케이션이 망가질 수 있기 때문입니다.
Permissions
동적 관리 객체를 쿼리하려면 객체에 대한 권한이 필요 SELECT 하며, 객체의 범위와 SQL Server 데이터베이스 엔진 버전에 따라 다릅니다:
| 버전 | 서버 범위 | 데이터베이스 범위 |
|---|---|---|
| SQL Server 2019 (15.x) 및 이전 버전 | VIEW SERVER STATE |
VIEW DATABASE STATE |
| SQL Server 2022(16.x) 이상 버전 |
VIEW SERVER PERFORMANCE STATE또는 VIEW SERVER SECURITY STATE 보안 관련 객체에 대해서는 |
VIEW DATABASE PERFORMANCE STATE또는 VIEW DATABASE SECURITY STATE 보안 관련 객체에 대해서는 |
선택적으로 접근 권한을 제한하려면 사용자를 생성하거나 로그인 master 한 후, 차단하려는 특정 동적 관리 뷰나 기능에 대해 해당 사용자 SELECT 권한을 거부하세요. 사용자는 데이터베이스 컨텍스트와 상관없이 그 객체들 중에서 선택할 수 없습니다.
메모
DENY가 GRANT보다 우선합니다. 예를 들어, 허가되었 VIEW SERVER PERFORMANCE STATE 지만 거부 VIEW DATABASE PERFORMANCE STATE 된 사용자는 서버 수준의 정보는 볼 수 있지만 데이터베이스 수준의 정보는 볼 수 없습니다.