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 | データベースのオブジェクト ID。 この値は、 sys.databases (Transact-SQL) ビューのdatabase_idと同じではないことに注意してください。 |
physical_name | sysname | シェル/コンピューティング ノード上のデータベースの物理名。 この値は、 sys.pdw_database_mappings (Transact-SQL) ビューのphysical_name列の値と同じです。 |
pdw_node_id | int | ノードに関連付けられている一意の数値 ID。 |
例: Analytics Platform System (PDW)
A. 戻る
次のクエリは、master 内の各データベースの名前と ID、および各コンピューティング ノードの対応するデータベース名を返します。
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 と Parallel Data Warehouse のカタログ ビュー
sys.databases (Transact-SQL)
sys.pdw_database_mappings (Transact-SQL)