동적 관리 뷰(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 쿼리를 실행하려면

  1. 쿼리할 서버 및 모델 개체에 연결합니다.
  2. 서버 또는 데이터베이스 개체 >새 쿼리>MDX를 마우스 오른쪽 단추로 클릭합니다.
  3. 쿼리를 입력한 다음 실행을 클릭하거나 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에는 프로토콜에 설명된 스키마 행 집합이 없습니다.