Analysis Services DMV(동적 관리 뷰)는 로컬 서버 작업 및 서버 상태에 대한 정보를 노출하는 쿼리 구조입니다. 쿼리 구조는 Analysis Services 인스턴스에 대한 메타데이터 및 모니터링 정보를 반환하는 스키마 행 집합에 대한 인터페이스입니다.
대부분의 DMV 쿼리의 경우, SELECT 문과 $System 스키마로 XML/A 스키마 행 집합을 사용합니다.
SELECT * FROM $System.<schemaRowset>
DMV 쿼리는 쿼리가 실행되었을 때 현재 서버 상태에 대한 정보를 반환합니다. 작업을 실시간으로 모니터링하려면 대신 추적을 사용합니다. 자세한 내용은 SQL Server Profiler를 사용하여 Analysis Services 모니터링을 참조하세요.
이 항목에는 다음 섹션이 포함되어 있습니다.
DMV 쿼리 사용의 이점
DMV 쿼리는 다른 수단을 통해 사용할 수 없는 작업 및 리소스 소비에 대한 정보를 반환합니다.
DMV 쿼리는 XML/A Discover 명령을 실행하는 대신 사용할 수 있습니다. 대부분의 관리자는 쿼리 구문이 SQL을 기반으로 하기 때문에 DMV 쿼리를 작성하는 것이 더 간단합니다. 또한 결과 집합은 더 쉽게 읽고 복사할 수 있는 테이블 형식으로 반환됩니다.
예제 및 시나리오
DMV 쿼리는 활성 세션 및 연결에 대한 질문과 특정 시점에 CPU 또는 메모리를 가장 많이 사용하는 개체에 대한 질문에 대답하는 데 도움이 될 수 있습니다. 이 섹션에서는 DMV 쿼리가 가장 일반적으로 사용되는 시나리오에 대한 예제를 제공합니다. DMV 쿼리를 사용하여 서버 인스턴스를 모니터링하는 방법에 대한 추가 인사이트는 SQL Server 2008 R2 Analysis Services 작업 가이드 를 검토할 수도 있습니다.
Select * from $System.discover_object_activity /** 이 쿼리는 서비스가 마지막으로 시작된 이후의 개체 활동을 보고합니다. 이 DMV를 기반으로 하는 예제 쿼리는 새 System.Discover_Object_Activity 참조하세요.
Select * from $System.discover_object_memory_usage /** 이 쿼리는 개체별 메모리 사용량을 보고합니다.
Select * from $System.discover_sessions /** 이 쿼리는 세션 사용자 및 기간을 포함하여 활성 세션에 대해 보고합니다.
Select * from $System.discover_locks /** 이 쿼리는 특정 시점에 사용된 잠금의 스냅샷을 반환합니다.
쿼리 구문
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 함수가 포함되어야 합니다. 다음 예제에서는 테이블 형식 모드 서버에서 실행 중인 테이블 형식 모델에 대한 CSDL 메타데이터를 반환합니다. CATALOG_NAME은 대문자와 소문자를 구별합니다.
Select * from SYSTEMRESTRICTSCHEMA ($System.Discover_csdl_metadata, [CATALOG_NAME] = 'Adventure Works DW')
도구 및 사용 권한
DMV를 쿼리하려면 Analysis Services 인스턴스에 대한 시스템 관리자 권한이 있어야 합니다.
SQL Server Management Studio, Reporting Services 보고서 또는 PerformancePoint 대시보드를 포함하여 MDX 또는 DMX 쿼리를 지원하는 모든 클라이언트 애플리케이션을 사용할 수 있습니다.
Management Studio에서 DMV 쿼리를 실행하려면 쿼리할 인스턴스에 연결하고 새 쿼리를 클릭합니다. MDX 또는 DMX 쿼리 창에서 쿼리를 실행할 수 있습니다.
차량등록국(Department of Motor Vehicles) 참조
모든 스키마 행 집합에 DMV 인터페이스가 있는 것은 아닙니다. DMV를 사용하여 쿼리할 수 있는 모든 스키마 행 집합 목록을 반환하려면 다음 쿼리를 실행합니다.
SELECT * FROM $System.DBSchema_Tables
WHERE TABLE_TYPE = 'SCHEMA'
ORDER BY TABLE_NAME ASC
비고
지정된 행 집합에 DMV를 사용할 수 없는 경우 서버는 <"서버에서 스키마로셋> 요청 유형을 인식할 수 없습니다"라는 오류를 반환합니다. 다른 모든 오류는 구문 문제를 가리킵니다.
| 로우셋 | 설명 |
|---|---|
| DBSCHEMA_CATALOGS 행 집합 | 현재 연결의 Analysis Services 데이터베이스 목록을 반환합니다. |
| DBSCHEMA_COLUMNS 행 집합 | 현재 데이터베이스의 모든 열 목록을 반환합니다. 이 목록을 사용하여 DMV 쿼리를 생성할 수 있습니다. |
| DBSCHEMA_PROVIDER_TYPES 행 집합 | OLE DB 데이터 공급자가 지원하는 기본 데이터 형식에 대한 속성을 반환합니다. |
| DBSCHEMA_TABLES 행 집합 | 현재 데이터베이스의 모든 테이블 목록을 반환합니다. 이 목록을 사용하여 DMV 쿼리를 생성할 수 있습니다. |
| DISCOVER_CALC_DEPENDENCY 행 집합 | 다른 열 및 테이블에 대한 종속성이 있는 모델에 사용되는 열 및 테이블 목록을 반환합니다. |
| DISCOVER_COMMAND_OBJECTS 행 집합 | 참조된 명령에서 사용 중인 개체에 대한 리소스 사용량 및 활동 정보를 제공합니다. |
| DISCOVER_COMMANDS 행 집합 | 현재 실행 중인 명령에 대한 리소스 사용량 및 활동 정보를 제공합니다. |
| DISCOVER_CONNECTIONS Rowset | Analysis Services에 대한 열린 연결에 대한 리소스 사용량 및 활동 정보를 제공합니다. |
| DISCOVER_CSDL_METADATA 행 집합 | 테이블 형식 모델에 대한 정보를 반환합니다. SYSTEMRESTRICTSCHEMA 및 추가 매개 변수를 추가해야 합니다. |
| DISCOVER_DB_CONNECTIONS 행 집합 | 처리 또는 가져오기 중과 같이 Analysis Services에서 외부 데이터 원본으로의 열린 연결에 대한 리소스 사용량 및 활동 정보를 제공합니다. |
| DISCOVER_DIMENSION_STAT 행 집합 | 모델 형식에 따라 테이블의 차원 또는 열에 있는 특성을 반환합니다. |
| DISCOVER_ENUMERATORS 행 집합 | 특정 데이터 원본에 대해 지원되는 열거자에 대한 메타데이터를 반환합니다. |
| DISCOVER_INSTANCES 행 집합 | 지정된 인스턴스에 대한 정보를 반환합니다. SYSTEMRESTRICTSCHEMA 및 추가 매개 변수를 추가해야 합니다. |
| DISCOVER_JOBS 행 집합 | 현재 작업에 대한 정보를 반환합니다. |
| DISCOVER_KEYWORDS 행 집합(XMLA) | 예약된 키워드 목록을 반환합니다. |
| DISCOVER_LITERALS 행 집합 | XMLA에서 지원하는 데이터 형식 및 값을 포함하여 리터럴 목록을 반환합니다. |
| DISCOVER_LOCKS 행 집합 | 특정 시점에 사용된 잠금의 스냅샷을 반환합니다. |
| DISCOVER_MEMORYGRANT Rowset | 시작 시 Analysis Services에서 할당한 메모리에 대한 정보를 반환합니다. |
| DISCOVER_MEMORYUSAGE 행 집합 | 특정 개체별 메모리 사용량을 표시합니다. |
| DISCOVER_OBJECT_ACTIVITY 행 집합 | 서비스가 마지막으로 시작된 이후 개체 활동에 대해 보고합니다. |
| DISCOVER_OBJECT_MEMORY_USAGE 행 집합 | 개체별 메모리 사용량을 보고합니다. |
| DISCOVER_PARTITION_DIMENSION_STAT 행 집합 | 차원의 특성에 대한 정보를 제공합니다. SYSTEMRESTRICTSCHEMA 및 추가 매개 변수를 추가해야 합니다. |
| DISCOVER_PARTITION_STAT 행 집합 | 차원, 테이블 또는 측정값 그룹의 파티션에 대한 정보를 제공합니다. SYSTEMRESTRICTSCHEMA 및 추가 매개 변수를 추가해야 합니다. |
| DISCOVER_PERFORMANCE_COUNTERS 행 집합 | 성능 카운터에 사용되는 열을 나열합니다. SYSTEMRESTRICTSCHEMA 및 추가 매개 변수를 추가해야 합니다. |
| DISCOVER_PROPERTIES 행 집합 | 지정된 데이터 원본에 대해 XMLA에서 지원하는 속성에 대한 정보를 반환합니다. |
| DISCOVER_SCHEMA_ROWSETS Rowset | XMLA에서 지원하는 모든 열거형 값에 대한 이름, 제한 사항, 설명 및 기타 정보를 반환합니다. |
| DISCOVER_SESSIONS Rowset | 세션 사용자 및 기간을 포함하여 활성 세션에 대한 보고서입니다. |
| DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS 행 집합 | 테이블 형식 또는 SharePoint 모드에서 실행되는 Analysis Services 데이터베이스에서 사용하는 스토리지 테이블에 대한 열 및 세그먼트 수준에서 정보를 제공합니다. |
| DISCOVER_STORAGE_TABLE_COLUMNS 행 집합 | 클라이언트가 테이블 형식 또는 SharePoint 모드에서 실행되는 Analysis Services 데이터베이스에서 사용하는 스토리지 테이블에 대한 열 할당을 결정할 수 있습니다. |
| DISCOVER_STORAGE_TABLES 행 집합 | 테이블 형식 모델 데이터베이스의 모델 스토리지에 사용되는 테이블에 대한 정보를 반환합니다. |
| DISCOVER_TRACE_COLUMNS 행 집합 | 추적에서 사용할 수 있는 열에 대한 XML 설명을 반환합니다. |
| DISCOVER_TRACE_DEFINITION_PROVIDERINFO 행 집합 | 공급자의 이름 및 버전 정보를 반환합니다. |
| DISCOVER_TRACE_EVENT_CATEGORIES 행 집합 | 사용 가능한 범주 목록을 반환합니다. |
| DISCOVER_TRACES 행 집합 | 현재 연결에서 현재 실행 중인 추적 목록을 반환합니다. |
| DISCOVER_TRANSACTIONS 행 집합 | 현재 연결에서 현재 실행 중인 트랜잭션 목록을 반환합니다. |
| DISCOVER_XEVENT_TRACE_DEFINITION 행 집합 | 현재 연결에서 현재 실행 중인 xevent 추적 목록을 반환합니다. |
| DMSCHEMA_MINING_COLUMNS 행 집합 | 현재 연결에서 사용할 수 있는 모든 마이닝 모델의 개별 열을 나열합니다. |
| DMSCHEMA_MINING_FUNCTIONS 행 집합 | 서버의 데이터 마이닝 알고리즘에서 지원하는 함수 목록을 반환합니다. |
| DMSCHEMA_MINING_MODEL_CONTENT 행 집합 | 현재 모델을 설명하는 열로 구성된 행 집합을 반환합니다. |
| DMSCHEMA_MINING_MODEL_CONTENT_PMML 행 집합 | PMML 형식으로 현재 모델을 설명하는 열로 구성된 행 집합을 반환합니다. |
| DMSCHEMA_MINING_MODEL_XML 행 집합 | PMML 형식으로 현재 모델을 설명하는 열로 구성된 행 집합을 반환합니다. |
| DMSCHEMA_MINING_MODELS 행 집합 | 현재 데이터베이스의 마이닝 모델 목록을 반환합니다. |
| DMSCHEMA_MINING_SERVICE_PARAMETERS 행 집합 | 서버의 알고리즘에 대한 매개 변수 목록을 반환합니다. |
| DMSCHEMA_MINING_SERVICES 행 집합 | 서버에서 사용할 수 있는 데이터 마이닝 알고리즘 목록을 제공합니다. |
| DMSCHEMA_MINING_STRUCTURE_COLUMNS 행 집합 | 현재 연결에서 사용할 수 있는 모든 마이닝 모델의 모든 열 목록을 반환합니다. |
| DMSCHEMA_MINING_STRUCTURES 행 집합 | 현재 연결에서 사용할 수 있는 마이닝 구조를 나열합니다. |
| MDSCHEMA_CUBES 행 집합 | 현재 데이터베이스에 정의된 큐브에 대한 정보를 반환합니다. |
| MDSCHEMA_DIMENSIONS 행 집합 | 현재 데이터베이스에 정의된 차원에 대한 정보를 반환합니다. |
| MDSCHEMA_FUNCTIONS 행 집합 | 데이터베이스에 연결된 클라이언트 애플리케이션에서 사용할 수 있는 함수 목록을 반환합니다. |
| MDSCHEMA_HIERARCHIES 행 집합 | 현재 데이터베이스에 정의된 계층에 대한 정보를 반환합니다. |
| MDSCHEMA_INPUT_DATASOURCES 행 집합 | 현재 데이터베이스에 정의된 데이터 원본 개체에 대한 정보를 반환합니다. |
| MDSCHEMA_KPIS 행 집합 | 현재 데이터베이스에 정의된 KPI에 대한 정보를 반환합니다. |
| MDSCHEMA_LEVELS 행 집합 | 현재 데이터베이스에 정의된 계층 내 수준에 대한 정보를 반환합니다. |
| MDSCHEMA_MEASUREGROUP_DIMENSIONS 행 집합 | 측정값 그룹의 차원을 나열합니다. |
| MDSCHEMA_MEASUREGROUPS 행 집합 | 현재 연결의 측정값 그룹 목록을 반환합니다. |
| MDSCHEMA_MEASURES 행 집합 | 현재 연결의 측정값 목록을 반환합니다. |
| MDSCHEMA_MEMBERS 행 집합 | 데이터베이스, 큐브 및 차원별로 나열된 현재 연결의 모든 멤버 목록을 반환합니다. |
| MDSCHEMA_PROPERTIES 행 집합 | 속성 형식, 데이터 형식 및 기타 메타데이터와 함께 각 속성의 정규화된 이름을 반환합니다. |
| MDSCHEMA_SETS 행 집합 | 현재 연결에 정의된 집합 목록을 반환합니다. |
또한 참조하십시오
SQL Server 2008 R2 Analysis Services 작업 가이드
새로운 System.Discover_Object_Activity
제한된 행 집합 및 DMV에 대한 새 SYSTEMRESTRICTEDSCHEMA 함수