Share via


sys.pdw_nodes_pdw_physical_databases (Transact-SQL)

適用於:Analytics Platform System (PDW)

針對計算節點上的每個實體資料庫,各包含一個資料列。 匯總實體資料庫資訊,以取得資料庫的詳細資訊。 若要合併資訊,請將 聯 sys.pdw_nodes_pdw_physical_databases 結至 sys.pdw_database_mappingssys.databases 資料表。

資料行名稱 資料類型 描述
database_id int 資料庫的物件識別碼。 請注意,此值與 sys.databases (Transact-SQL) 檢視中的 database_id不同。
physical_name sysname 殼層/計算節點上資料庫的機構名稱。 此值與 sys.pdw_database_mappings (Transact-SQL) 檢視中physical_name資料行中的 值相同。
pdw_node_id int 與節點相關聯的唯一數值識別碼。

範例:Analytics Platform System (PDW)

A. 返回

下列查詢會傳回 master 中每個資料庫的名稱和識別碼,以及每個計算節點上對應的資料庫名稱。

SELECT D.database_id AS DBID_in_master, D.name AS UserDatabaseName,   
PD.pdw_node_id AS NodeID, DM.physical_name AS PhysDBName   
FROM sys.databases AS D  
JOIN sys.pdw_database_mappings AS DM  
    ON D.database_id = DM.database_id  
JOIN sys.pdw_nodes_pdw_physical_databases AS PD  
    ON DM.physical_name = PD.physical_name  
ORDER BY D.database_id, PD.pdw_node_ID;  

B. 使用sys.pdw_nodes_pdw_physical_databases收集詳細的物件資訊

下列查詢顯示索引的相關資訊,並包含物件屬於資料庫中物件之資料庫的實用資訊。

SELECT D.name AS UserDatabaseName, D.database_id AS DBIDinMaster,  
DM.physical_name AS PhysDBName, PD.pdw_node_id AS NodeID,   
IU.object_id, IU.index_id, IU.user_seeks, IU.user_scans, IU.user_lookups, IU.user_updates  
FROM sys.databases AS D  
JOIN sys.pdw_database_mappings AS DM  
    ON D.database_id = DM.database_id  
JOIN sys.pdw_nodes_pdw_physical_databases AS PD  
    ON DM.physical_name = PD.physical_name  
JOIN sys.dm_pdw_nodes_db_index_usage_stats AS IU  
    ON PD.database_id = IU.database_id  
ORDER BY D.database_id, IU.object_id, IU.index_id, PD.pdw_node_ID;  

C. 使用sys.pdw_nodes_pdw_physical_databases來判斷加密狀態

下列查詢提供 AdventureWorksPDW2012 資料庫的加密狀態。

WITH dek_encryption_state AS   
(  
    SELECT ISNULL(db_map.database_id, dek.database_id) AS database_id, encryption_state  
    FROM sys.dm_pdw_nodes_database_encryption_keys AS dek  
        INNER JOIN sys.pdw_nodes_pdw_physical_databases AS node_db_map  
            ON dek.database_id = node_db_map.database_id AND dek.pdw_node_id = node_db_map.pdw_node_id  
        LEFT JOIN sys.pdw_database_mappings AS db_map  
            ON node_db_map .physical_name = db_map.physical_name  
        INNER JOIN sys.dm_pdw_nodes AS nodes  
            ON nodes.pdw_node_id = dek.pdw_node_id  
    WHERE dek.encryptor_thumbprint <> 0x  
)  
SELECT TOP 1 encryption_state  
       FROM  dek_encryption_state  
       WHERE dek_encryption_state.database_id = DB_ID('AdventureWorksPDW2012 ')  
       ORDER BY (CASE encryption_state WHEN 3 THEN -1 ELSE encryption_state END) DESC;  

另請參閱

Azure Synapse Analytics 和平行處理資料倉儲目錄檢視
sys.databases (Transact-SQL)
sys.pdw_database_mappings (Transact-SQL)