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 命令的替代方案。 對於大部分的系統管理員來說,撰寫 DMV 查詢會比較簡單,因為查詢語法是以 SQL 為基礎。 此外,結果集會以表格式格式傳回,更容易讀取和複製。
範例和案例
DMV 查詢可協助您回答有關使用中會話和連線的問題,以及哪些物件在特定時間點耗用最多 CPU 或記憶體。 本節提供最常使用 DMV 查詢的案例範例。 您也可以檢閱 SQL Server 2008 R2 Analysis Services 作業指南 ,以取得使用 DMV 查詢監視伺服器實例的其他見解。
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')
工具和許可權
您必須擁有 Analysis Services 實例的系統管理員許可權,才能查詢 DMV。
您可以使用任何支援 MDX 或 DMX 查詢的用戶端應用程式,包括 SQL Server Management Studio、Reporting Services 報表或 PerformancePoint 儀錶板。
若要從 Management Studio 執行 DMV 查詢,請連線到您想要查詢的實例,按兩下 [ 新增查詢]。 您可以從 MDX 或 DMX 查詢視窗執行查詢。
DMV 參考
並非所有架構數據列集都有 DMV 介面。 若要傳回可使用 DMV 查詢的所有架構資料列集清單,請執行下列查詢。
SELECT * FROM $System.DBSchema_Tables
WHERE TABLE_TYPE = 'SCHEMA'
ORDER BY TABLE_NAME ASC
備註
如果指定的數據列集無法使用 DMV,伺服器會傳回下列錯誤:「 <伺服器無法辨識 schemarowset> 要求類型」。 所有其他錯誤都指向語法的問題。
| 資料列集合 | 說明 |
|---|---|
| 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數據列集 | 提供有關對 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數據列集 | 傳回 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數據列集 | 傳回 XMLA 所支援之所有列舉值的名稱、限制、描述和其他資訊。 |
| DISCOVER_SESSIONS數據列集 | 報告活動中的會話,包括會話使用者和持續時間。 |
| 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 Rowset | 傳回目前連接中所有可用採礦模型之所有欄位的列表。 |
| DMSCHEMA_MINING_STRUCTURES數據列集 | 列出目前連接中可用的採礦結構。 |
| MDSCHEMA_CUBES數據列集 | 傳回目前資料庫中所定義 Cube 的相關信息。 |
| MDSCHEMA_DIMENSIONS數據列集 | 傳回目前資料庫中所定義之維度的相關信息。 |
| MDSCHEMA_FUNCTIONS數據列集 | 傳回連線至資料庫的用戶端應用程式可用的函式清單。 |
| MDSCHEMA_HIERARCHIES數據列集 | 傳回目前資料庫中所定義階層的相關信息。 |
| MDSCHEMA_INPUT_DATASOURCES數據列集 | 傳回目前資料庫中所定義之數據源對象的相關信息。 |
| MDSCHEMA_KPIS數據列集 | 傳回目前資料庫中所定義 KPI 的相關信息。 |
| MDSCHEMA_LEVELS數據列集 | 傳回目前資料庫中所定義階層內層級的相關信息。 |
| MDSCHEMA_MEASUREGROUP_DIMENSIONS數據列集 | 列出量值群組的維度。 |
| MDSCHEMA_MEASUREGROUPS數據列集 | 傳回目前連接中的量值群組清單。 |
| MDSCHEMA_MEASURES數據列集 | 傳回目前連接中的量值清單。 |
| MDSCHEMA_MEMBERS數據列集 | 傳回目前連接中的所有成員清單,依資料庫、Cube 和維度列出。 |
| MDSCHEMA_PROPERTIES數據列集 | 傳回每個屬性的完整名稱,以及屬性類型、數據類型和其他元數據。 |
| MDSCHEMA_SETS數據列集 | 傳回目前連接中定義的集合清單。 |
另請參閱
SQL Server 2008 R2 Analysis Services 作業指南
新增System.Discover_Object_Activity
用於限制資料列集和 DMV 的新 SYSTEMRESTRICTEDSCHEMA 函式