sys.pdw_nodes_pdw_physical_databases (Transact-SQL)
適用於:Analytics Platform System (PDW)
針對計算節點上的每個實體資料庫,各包含一個數據列。 匯總實體資料庫資訊,以取得資料庫的詳細資訊。 若要合併資訊,請將 聯 sys.pdw_nodes_pdw_physical_databases
結至 sys.pdw_database_mappings
和 sys.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)