동적 관리 뷰(DMV)
적용 대상: SQL Server Analysis Services Azure Analysis Services 패브릭/Power BI Premium
Analysis Services DMV(동적 관리 뷰)는 모델 개체, 서버 작업 및 서버 상태에 대한 정보를 반환하는 쿼리입니다. SQL을 기반으로 하는 쿼리는 스키마 행 집합에 대한 인터페이스입니다. 스키마 행 집합은 서버에서 실행되는 데이터베이스 스키마, 활성 세션, 연결, 명령 및 작업을 포함하여 Analysis Services 개체 및 서버 상태에 대한 정보를 포함하는 미리 설명된 테이블입니다.
Power BI Premium 의미 체계 모델의 경우 XMLA 엔드포인트를 통해 쿼리하기 위한 DMV는 데이터베이스 관리자 권한이 필요한 모델로 제한됩니다. 일부 DMV는 Analysis Services 서버 관리자 권한이 필요하기 때문에 지원되지 않습니다.
DMV 쿼리는 XML/A Discover 명령을 실행하는 대신 사용할 수 있는 방법입니다. 대부분의 관리자는 구문이 SQL을 기반으로 하므로 DMV 쿼리를 작성하는 것이 더 간단합니다. 또한 결과는 더 쉽게 읽고 복사할 수 있는 테이블 형식으로 반환됩니다.
대부분의 DMV 쿼리는 XML/A 스키마 행 집합이 있는 SELECT 문과 $System 스키마를 사용합니다. 예를 들면 다음과 같습니다.
SELECT * FROM $System.<schemaRowset>
DMV 쿼리는 쿼리를 실행할 때 서버 및 개체 상태에 대한 정보를 반환합니다. 작업을 실시간으로 모니터링하려면 대신 추적을 사용합니다. 추적을 사용한 실시간 모니터링에 대한 자세한 내용은 SQL Server Profiler 사용하여 Analysis Services 모니터링을 참조하세요.
쿼리 구문
DMV의 쿼리 엔진은 데이터 마이닝 파서입니다. DMV 쿼리 구문은 SELECT(DMX) 문을 기반으로 합니다. DMV 쿼리 구문은 SQL SELECT 문에 기반을 두지만 SELECT 문의 전체 구문을 지원하지는 않습니다. 특히 JOIN, GROUP BY, LIKE, CAST 및 CONVERT는 지원되지 않습니다.
SELECT [DISTINCT] [TOP <n>] <select list>
FROM $System.<schemaRowset>
[WHERE <condition expression>]
[ORDER BY <expression>[DESC|ASC]]
DISCOVER_CALC_DEPENDENCY에 대한 다음 예에서는 WHERE 절을 사용하여 쿼리에 매개 변수를 제공하는 것을 보여 줍니다.
SELECT * FROM $System.DISCOVER_CALC_DEPENDENCY
WHERE OBJECT_TYPE = 'ACTIVE_RELATIONSHIP'
제한이 있는 스키마 행 집합의 경우 쿼리에 SYSTEMRESTRICTSCHEMA 함수가 포함되어야 합니다. 다음 예제에서는 1103 호환성 수준 테이블 형식 모델에 대한 CSDL 메타데이터를 반환합니다. CATALOG_NAME은 대/소문자를 구분합니다.
Select * from SYSTEMRESTRICTSCHEMA ($System.Discover_csdl_metadata, [CATALOG_NAME] = 'Adventure Works DW')
예 및 시나리오
DMV 쿼리를 사용하면 서비스 세션 및 연결에 대한 정보를 확인할 수 있으며 특정 시점에 CPU나 메모리를 가장 많이 사용하는 개체가 어떤 것인지 파악할 수 있습니다. 예를 들면 다음과 같습니다.
Select * from $System.discover_object_activity
이 쿼리는 서비스가 마지막으로 시작된 이후 개체 활동에 대해 보고합니다.
Select * from $System.discover_object_memory_usage
이 쿼리는 개체별 메모리 사용량을 보고합니다.
Select * from $System.discover_sessions
이 쿼리는 세션 사용자 및 기간을 포함하여 활성 세션에 대해 보고합니다.
Select * from $System.discover_locks
이 쿼리는 특정 시점에 사용된 잠금의 스냅샷 반환합니다.
도구 및 권한
MDX 또는 DMX 쿼리를 지원하는 모든 클라이언트 애플리케이션을 사용할 수 있습니다. 대부분의 경우 SQL Server Management Studio 사용하는 것이 가장 좋습니다. DMV를 쿼리하려면 instance 서버 관리자 권한이 있어야 합니다.
SQL Server Management Studio DMV 쿼리를 실행하려면
- 쿼리할 서버 및 모델 개체에 연결합니다.
- 서버 또는 데이터베이스 개체 >새 쿼리>MDX를 마우스 오른쪽 단추로 클릭합니다.
- 쿼리를 입력한 다음 실행을 클릭하거나 F5 키를 누릅니다.
스키마 행 집합
모든 스키마 행 집합에 DMV 인터페이스가 있는 것은 아닙니다. DMV를 사용하여 쿼리할 수 있는 모든 스키마 행 집합 목록을 반환하려면 다음 쿼리를 실행합니다.
SELECT * FROM $System.DBSchema_Tables
WHERE TABLE_TYPE = 'SCHEMA'
ORDER BY TABLE_NAME ASC
지정된 행 집합에 DMV를 사용할 수 없는 경우 서버는 오류를 반환합니다. The <schemarowset> request type was not recognized by the server.
다른 모든 오류는 구문에 문제가 있음을 나타냅니다.
스키마 행 집합은 두 SQL Server Analysis Services 프로토콜에 설명되어 있습니다.
[MS-SSAS-T]: SQL Server Analysis Services 테이블 형식 프로토콜 - 1200 이상의 호환성 수준에서 테이블 형식 모델에 대한 스키마 행 집합을 설명합니다.
[MS-SSAS]: SQL Server Analysis Services 프로토콜 - 1100 및 1103 호환성 수준에서 다차원 모델 및 테이블 형식 모델에 대한 스키마 행 집합을 설명합니다.
[MS-SSAS-T]: SQL Server Analysis Services 테이블 형식 프로토콜에 설명된 행 집합
참고: 이 목록은 불완전할 수 있습니다. 최신 내용은 [MS-SSAS-T] 및 [MS-SSAS] 프로토콜을 참조하세요.
행 집합 | 설명 |
---|---|
TMSCHEMA_ANNOTATIONS | 모델의 주석 개체에 대한 정보를 제공합니다. |
TMSCHEMA_ATTRIBUTE_HIERARCHIES | 열에 대한 AttributeHierarchy 개체에 대한 정보를 제공합니다. |
TMSCHEMA_CALCULATION_ITEMS | 테이블 형식 모델의 CalculationItem 개체에 대한 정보를 제공합니다. |
TMSCHEMA_CALCULATION_GROUPS | 테이블 형식 모델의 CalculationGroup 개체에 대한 정보를 제공합니다. |
TMSCHEMA_COLUMNS | 각 테이블의 Column 개체에 대한 정보를 제공합니다. |
TMSCHEMA_COLUMN_PERMISSIONS | 각 테이블 사용 권한의 ColumnPermission 개체에 대한 정보를 제공합니다. |
TMSCHEMA_CULTURES | 모델의 Culture 개체에 대한 정보를 제공합니다. |
TMSCHEMA_DATA_SOURCES | 모델의 DataSource 개체에 대한 정보를 제공합니다. |
TMSCHEMA_DETAIL_ROWS_DEFINITIONS | 모델의 DetailRowsDefinition 개체에 대한 정보를 제공합니다. |
TMSCHEMA_EXPRESSIONS | 모델의 Expression 개체에 대한 정보를 제공합니다. |
TMSCHEMA_FORMAT_STRING_DEFINITIONS | 테이블 형식 모델의 FormatStringDefinition 개체에 대한 정보를 제공합니다. |
TMSCHEMA_EXTENDED_PROPERTIES | 모델의 ExtendedProperty 개체에 대한 정보를 제공합니다. |
TMSCHEMA_HIERARCHIES | 각 테이블의 계층 구조 개체에 대한 정보를 제공합니다. |
TMSCHEMA_KPIS | 모델의 KPI 개체에 대한 정보를 제공합니다. |
TMSCHEMA_LEVELS | 각 계층의 Level 개체에 대한 정보를 제공합니다. |
TMSCHEMA_LINGUISTIC_METADATA | 특정 문화권에 대한 모델의 개체 동의어에 대한 정보를 제공합니다. |
TMSCHEMA_MEASURES | 각 테이블의 Measure 개체에 대한 정보를 제공합니다. |
TMSCHEMA_MODEL | 데이터베이스의 Model 개체를 지정합니다. |
TMSCHEMA_OBJECT_TRANSLATIONS | 문화권에 대한 다양한 개체의 번역에 대한 정보를 제공합니다. |
TMSCHEMA_PARTITIONS | 각 테이블의 Partition 개체에 대한 정보를 제공합니다. |
TMSCHEMA_PERSPECTIVE_COLUMNS | 각 PerspectiveTable 개체의 PerspectiveColumn 개체에 대한 정보를 제공합니다. |
TMSCHEMA_PERSPECTIVE_HIERARCHIES | 각 PerspectiveTable 개체의 PerspectiveHierarchy 개체에 대한 정보를 제공합니다. |
TMSCHEMA_PERSPECTIVE_MEASURES | 각 PerspectiveTable 개체의 PerspectiveMeasure 개체에 대한 정보를 제공합니다. |
TMSCHEMA_PERSPECTIVE_TABLES | 큐브 뷰에서 Table 개체에 대한 정보를 제공합니다. |
TMSCHEMA_PERSPECTIVES | 모델의 Perspective 개체에 대한 정보를 제공합니다. |
TMSCHEMA_QUERY_GROUPS | 테이블 형식 모델의 QueryGroup 개체에 대한 정보를 제공합니다. |
TMSCHEMA_RELATIONSHIPS | 모델의 Relationship 개체에 대한 정보를 제공합니다. |
TMSCHEMA_ROLE_MEMBERSHIPS | 각 역할의 RoleMembership 개체에 대한 정보를 제공합니다. |
TMSCHEMA_ROLES | 모델의 Role 개체에 대한 정보를 제공합니다. |
TMSCHEMA_TABLE_PERMISSIONS | 각 역할의 TablePermission 개체에 대한 정보를 제공합니다. |
TMSCHEMA_TABLES | 모델의 Table 개체에 대한 정보를 제공합니다. |
TMSCHEMA_VARIATIONS | 각 열의 변형 개체에 대한 정보를 제공합니다. |
[MS-SSAS]: SQL Server Analysis Services 프로토콜에 설명된 행 집합
행 집합 | 설명 |
---|---|
DBSCHEMA_CATALOGS | 서버에서 액세스할 수 있는 카탈로그에 대해 설명합니다. |
DBSCHEMA_COLUMNS | 각 측정값, 각 큐브 차원 특성 및 각 스키마 행 집합 열에 대한 행을 열로 노출합니다. |
DBSCHEMA_PROVIDER_TYPES | 서버에서 지원하는 (기본) 데이터 형식을 식별합니다. |
DBSCHEMA_TABLES | 테이블로 노출되는 차원, 측정값 그룹 또는 스키마 행 집합을 반환합니다. |
DISCOVER_CALC_DEPENDENCY | 테이블 형식 데이터베이스 또는 테이블 형식 데이터베이스에 대해 실행되는 DAX 쿼리에 지정된 개체의 계산 종속성에 대한 정보를 반환합니다. 참고: DISCOVER_CALC_DEPENDENCY 행 집합을 사용하여 종속성을 분석하고 XMLA 엔드포인트를 사용하여 Power BI에서 호스트되는 의미 체계 모델에서 DAX 식을 추출할 수 있습니다. 그러나 DISCOVER_CALC_DEPENDENCY 행 집합에는 병합되거나 추가된 M 쿼리 및 M 매개 변수와 같이 향상된 메타데이터가 사용하도록 설정된 의미 체계 모델에 대한 M 종속성이 포함되지 않습니다. |
DISCOVER_COMMAND_OBJECTS | 참조된 명령에서 사용 중인 개체에 대한 리소스 사용량 및 작업 정보를 제공합니다. |
DISCOVER_COMMANDS | 서버에 열려 있는 연결의 현재 실행 중이거나 마지막으로 실행된 명령에 대한 리소스 사용량 및 작업 정보를 제공합니다. |
DISCOVER_CONNECTIONS | 서버에서 현재 열린 연결에 대한 리소스 사용량 및 작업 정보를 제공합니다. |
DISCOVER_CSDL_METADATA | 메모리 내 데이터베이스의 데이터베이스 메타데이터에 대한 정보를 반환합니다. |
DISCOVER_DATASOURCES | 서버에서 사용할 수 있는 데이터 원본 목록을 반환합니다. |
DISCOVER_DB_CONNECTIONS | 서버에서 현재 열린 데이터베이스 연결에 대한 리소스 사용량 및 작업 정보를 제공합니다. |
DISCOVER_DB_MEM_STATS | 서버에서 활성 상태인 메모리 추적기 관련 세밀한 정보를 제공합니다. 데이터는 데이터베이스 및 시스템 수준에서 집계됩니다. |
DISCOVER_DIMENSION_STAT | 는 지정된 차원에 대한 통계를 반환합니다. |
DISCOVER_ENUMERATORS | 특정 데이터 원본에 대해 XMLA 공급자에서 지원하는 열거자의 이름, 데이터 형식 및 열거 값 목록을 반환합니다. |
DISCOVER_INSTANCES | 서버의 인스턴스를 설명합니다. |
DISCOVER_JOBS | 서버에서 실행되는 활성 작업에 대한 정보를 제공합니다. 작업은 명령을 대신하여 특정 태스크를 실행하는 명령의 일부입니다. |
DISCOVER_KEYWORDS(XMLA) | XMLA 서버에서 예약한 키워드에 대한 정보를 반환합니다. |
DISCOVER_LITERALS | 서버에서 지원하는 리터럴에 대한 정보를 반환합니다. |
DISCOVER_LOCATIONS | 백업 파일의 콘텐츠에 대한 정보를 반환합니다. |
DISCOVER_LOCKS | 서버에서 현재 고정된 잠금에 대한 정보를 제공합니다. |
DISCOVER_MASTER_KEY | 서버의 master 암호화 키를 반환합니다. |
DISCOVER_MEM_STATS | 서버에서 활성 상태인 모든 메모리 추적자에 대한 세분화된 정보를 제공합니다. |
DISCOVER_MEMORYGRANT | 서버에서 현재 실행 중인 작업에 의해 사용되는 내부 메모리 할당량 부여 목록을 반환합니다. |
DISCOVER_MEMORYUSAGE | 서버에 의해 할당된 다양한 개체에 대한 DISCOVER_MEMORYUSAGE 통계를 반환합니다. |
DISCOVER_OBJECT_ACTIVITY | 서비스가 시작된 이후의 개체별 리소스 사용량을 제공합니다. |
DISCOVER_OBJECT_MEMORY_USAGE | 서버에 의해 할당된 다양한 개체에 대한 DISCOVER_MEMORYUSAGE 통계를 반환합니다. |
DISCOVER_PARTITION_DIMENSION_STAT | 파티션과 연결된 차원에 대한 통계를 반환합니다. |
DISCOVER_PARTITION_STAT | 특정 파티션의 집계에 대한 통계를 반환합니다. |
DISCOVER_PERFORMANCE_COUNTERS | 하나 이상의 지정된 성능 카운터의 값을 반환합니다. |
DISCOVER_PROPERTIES | 지정된 데이터 원본에 대해 서버에서 지원하는 속성에 대한 정보 및 값 목록을 반환합니다. |
DISCOVER_RING_BUFFERS | 서버의 현재 XEvent 링 버퍼에 대한 정보를 반환합니다. |
DISCOVER_SCHEMA_ROWSETS | 모든 검색 요청에 대한 이름, 제한 사항, 설명 및 기타 정보를 반환합니다. |
DISCOVER_SESSIONS | 서버에서 현재 열려 있는 세션에 대한 리소스 사용량 및 작업 정보를 제공합니다. |
DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS | 메모리 내 테이블의 데이터를 저장하는 데 사용되는 열 세그먼트에 대한 정보를 반환합니다. |
DISCOVER_STORAGE_TABLE_COLUMNS | 메모리 내 테이블의 열을 나타내는 데 사용되는 열에 대한 정보를 포함합니다. |
DISCOVER_STORAGE_TABLES | 서버에서 사용할 수 있는 메모리 내 테이블에 대한 통계를 반환합니다. |
DISCOVER_TRACE_COLUMNS | |
DISCOVER_TRACE_DEFINITION_PROVIDERINFO | DISCOVER_TRACE_COLUMNS 스키마 행 집합을 포함합니다. |
DISCOVER_TRACE_EVENT_CATEGORIES | DISCOVER_TRACE_EVENT_CATEGORIES 스키마 행 집합을 포함합니다. |
DISCOVER_TRACES | DISCOVER_TRACES 스키마 행 집합을 포함합니다. |
DISCOVER_TRANSACTIONS | 시스템에서 현재 보류 중인 트랜잭션 집합을 반환합니다. |
DISCOVER_XEVENT_TRACE_DEFINITION | 서버에서 현재 활성 상태인 XEvent 추적에 대한 정보를 제공합니다. |
DISCOVER_XEVENT_PACKAGES | 서버에 설명된 XEvent 패키지에 대한 정보를 제공합니다. |
DISCOVER_XEVENT_OBJECTS | 서버에 설명된 XEvent 개체에 대한 정보를 제공합니다. |
DISCOVER_XEVENT_OBJECT_COLUMNS | 서버에 설명된 XEvent 개체의 스키마에 대한 정보를 제공합니다. |
DISCOVER_XEVENT_SESSIONS | 서버의 현재 XEvent 세션에 대한 정보를 제공합니다. |
DISCOVER_XEVENT_SESSION_TARGETS | 서버의 현재 XEvent 세션 대상에 대한 정보를 제공합니다. |
DISCOVER_XML_METADATA | 한 행과 하나의 열이 있는 행 집합을 반환합니다. |
DMSCHEMA_MINING_COLUMNS | 서버에 배포된 모든 설명된 데이터 마이닝 모델의 개별 열을 설명합니다. |
DMSCHEMA_MINING_FUNCTIONS | Analysis Services를 실행하는 서버에서 사용할 수 있는 데이터 마이닝 알고리즘에서 지원하는 데이터 마이닝 함수에 대해 설명합니다. |
DMSCHEMA_MINING_MODEL_CONTENT | 클라이언트 애플리케이션이 학습된 데이터 마이닝 모델의 콘텐츠를 검색할 수 있도록 합니다. |
DMSCHEMA_MINING_MODEL_CONTENT_PMML | 마이닝 모델의 XML 구조를 반환합니다. XML 문자열의 형식은 PMML 2.1 표준을 따릅니다. |
DMSCHEMA_MINING_MODEL_XML | 마이닝 모델의 XML 구조를 반환합니다. XML 문자열의 형식은 PMML 2.1 표준을 따릅니다. |
DMSCHEMA_MINING_MODELS | 서버에 배포된 데이터 마이닝 모델을 열거합니다. |
DMSCHEMA_MINING_SERVICE_PARAMETERS | 서버에 설치된 각 데이터 마이닝 알고리즘의 동작을 구성하는 데 사용할 수 있는 매개 변수 목록을 제공합니다. |
DMSCHEMA_MINING_SERVICES | 서버에서 지원하는 각 데이터 마이닝 알고리즘에 대한 정보를 제공합니다. |
DMSCHEMA_MINING_STRUCTURE_COLUMNS | 서버에 배포된 모든 마이닝 구조의 개별 열에 대해 설명합니다. |
DMSCHEMA_MINING_STRUCTURES | 현재 카탈로그의 마이닝 구조에 대한 정보를 열거합니다. |
MDSCHEMA_ACTIONS | 클라이언트 애플리케이션에서 사용할 수 있는 작업에 대해 설명합니다. |
MDSCHEMA_CUBES | 데이터베이스 내의 큐브 구조를 설명합니다. 큐브 뷰도 이 스키마에 반환됩니다. |
MDSCHEMA_DIMENSIONS | 데이터베이스 내의 차원에 대해 설명합니다. |
MDSCHEMA_FUNCTIONS | DAX 및 MDX 언어에서 현재 사용할 수 있는 함수에 대한 정보를 반환합니다. |
MDSCHEMA_HIERARCHIES | 특정 차원 내의 각 계층을 설명합니다. |
MDSCHEMA_INPUT_DATASOURCES | 데이터베이스 내에 설명된 데이터 원본 개체에 대해 설명합니다. |
MDSCHEMA_KPIS | 데이터베이스 내의 KPI에 대해 설명합니다. |
MDSCHEMA_LEVELS | 특정 계층 내의 각 수준을 설명합니다. |
MDSCHEMA_MEASUREGROUP_DIMENSIONS | 측정값 그룹의 차원을 열거합니다. |
MDSCHEMA_MEASUREGROUPS | 데이터베이스 내의 측정값 그룹을 설명합니다. |
MDSCHEMA_MEASURES | 각 측정값에 대해 설명합니다. |
MDSCHEMA_MEMBERS | 데이터베이스 내의 멤버를 설명합니다. |
MDSCHEMA_PROPERTIES | 멤버 및 셀 속성의 속성을 설명합니다. |
MDSCHEMA_SETS | 세션 범위 집합을 포함하여 현재 데이터베이스에 설명된 모든 집합에 대해 설명합니다. |
참고
STORAGES DMV에는 프로토콜에 설명된 스키마 행 집합이 없습니다.