動態管理檢視 (DMV)
適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Analysis Services 動態管理檢視 (DMV) 是可傳回模型對象、伺服器作業和伺服器健康情況相關信息的查詢。 查詢是以 SQL 為基礎,是
針對 Power BI Premium 語意模型,透過 XMLA 端點進行查詢的 DMV 僅限於需要資料庫管理員許可權的 DMV。 不支援某些 DMV,因為它們需要 Analysis Services 伺服器管理員許可權。
DMV 查詢是執行 XML/A Discover 命令的替代方案。 對於大部分的系統管理員來說,撰寫 DMV 查詢會比較簡單,因為語法是以 SQL 為基礎。 此外,結果會以更容易讀取和複製的數據表格式傳回。
大部分的 DMV 查詢會使用 SELECT 語句和具有 XML/A 架構數據列集的 $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。
從 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 | 提供模型中 Annotation 對象的相關信息。 |
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 | 提供每個數據表中 Hierarchy 對象的相關信息。 |
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 | 提供每個數據行中 Variation 對象的相關信息。 |
[MS-SSAS] 中所述的數據列集:SQL Server Analysis Services 通訊協定
數據列集 | 描述 |
---|---|
DBSCHEMA_CATALOGS | 描述伺服器上可存取的目錄。 |
DBSCHEMA_COLUMNS | 針對每個量值、每個 Cube 維度屬性和每個架構數據列集數據行,傳回公開為數據行的數據列。 |
DBSCHEMA_PROVIDER_TYPES | 識別伺服器支援的 (base) 資料類型。 |
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 | 傳回伺服器的主要加密金鑰。 |
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 | 描述資料庫中 Cube 的結構。 此架構中也會傳回檢視方塊。 |
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 沒有通訊協定中所述的架構數據列集。