動態管理檢視 (DMV)

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

Analysis Services 動態管理檢視 (DMV) 是傳回模型物件、伺服器作業和伺服器健康情況相關資訊的查詢。 根據 SQL 的查詢是 架構資料列集的介面。 架構資料列集是預先定義的資料表,其中包含 Analysis Services 物件和伺服器狀態的相關資訊,包括資料庫架構、作用中的會話、連接、命令和伺服器上執行的作業。

對於Power BI Premium語意模型,透過 XMLA 端點進行查詢的 DMV 僅限於需要資料庫管理員許可權的 VM。 不支援某些 DMV,因為它們需要 Analysis Services 伺服器管理員許可權。

DMV 查詢是執行 XML/A Discover 命令的替代方法。 對於大部分的系統管理員而言,撰寫 DMV 查詢比較簡單,因為語法是以 SQL 為基礎。 此外,結果會以更容易讀取和複製的資料表格式傳回。

大部分的 DMV 查詢都會使用 SELECT 語句和 $System 架構搭配 XML/A 架構資料列集,例如:

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] 通訊協定。

資料列集 Description
TMSCHEMA_ANNOTATIONS 提供模型中 Annotation 物件的相關資訊。
TMSCHEMA_ATTRIBUTE_HIERARCHIES 提供資料行之 AttributeHierarchy 物件的相關資訊。
TMSCHEMA_CALCULATION_ITEMS 提供表格式模型中 CalculationItem 物件的相關資訊。
TMSCHEMA_CALCULATION_GROUPS 提供表格式模型中 CalculationGroup 物件的相關資訊。
TMSCHEMA_COLUMNS 提供每個資料表中 Column 物件的相關資訊。
TMSCHEMA_COLUMN_PERMISSIONS 提供每個資料表許可權中 ColumnPermission 物件的相關資訊。
TMSCHEMA_CULTURES 提供模型中文化特性物件的相關資訊。
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 提供每個資料行中變化物件的相關資訊。

[MS-SSAS]: SQL Server Analysis Services通訊協定中所述的資料列集

資料列集 Description
DBSCHEMA_CATALOGS 描述伺服器上可存取的目錄。
DBSCHEMA_COLUMNS 針對每個量值、每個 Cube 維度屬性和每個架構資料列集資料行,各傳回一個資料列,並公開為數據行。
DBSCHEMA_PROVIDER_TYPES 識別伺服器支援的 (基底) 資料類型。
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 所支援之列舉值 (Enumerator) 的名稱、資料類型和列舉 (Enumeration) 值的清單。
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 要求的名稱、限制、描述和其他資訊。
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 沒有通訊協定中所述的架構資料列集。