共用方式為


動態管理檢視 (DMV)

適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Analysis Services 動態管理檢視 (DMV) 是可傳回模型對象、伺服器作業和伺服器健康情況相關信息的查詢。 查詢是以 SQL 為基礎,是架構數據列集的介面。 架構數據列集是預先定義的數據表,其中包含 Analysis Services 對象和伺服器狀態的相關信息,包括資料庫架構、使用中會話、連線、命令和伺服器上執行的作業。

針對 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 查詢

  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 提供模型中 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 沒有通訊協定中所述的架構數據列集。