共用方式為


使用動態管理檢視 DMV 來監控分析服務

Analysis Services 動態管理檢視 (DMV) 是公開本地伺服器作業和伺服器健康情況相關信息的查詢結構。 查詢結構是架構數據列集的介面,可傳回 Analysis Services 實例的元數據和監視資訊。

對於大部分的 DMV 查詢,您可以使用 SELECT 語句和 $System 架構搭配 XML/A 架構數據列集。

SELECT * FROM $System.<schemaRowset>  

DMV 查詢會傳回執行查詢時目前伺服器狀態的相關信息。 若要即時監視作業,請改用追蹤。 如需詳細資訊,請參閱 使用 SQL Server Profiler 監視 Analysis Services

本主題包含下列各節:

使用 DMV 查詢的優點

範例和案例

查詢語法

工具和許可權

交通部參考

使用 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 函式