sys.pdw_nodes_pdw_physical_databases (Transact-SQL)

van toepassing op:PDW- (Analytics Platform System)

Bevat een rij voor elke fysieke database op een rekenknooppunt. Verzamel fysieke database-informatie om gedetailleerde informatie over databases te verkrijgen. Om informatie te combineren, voeg je de sys.pdw_nodes_pdw_physical_databases toe aan de sys.pdw_database_mappings en-tabellen sys.databases .

Kolomnaam Gegevenssoort Description
database_id int De object-ID voor de database. Let op: deze waarde is niet hetzelfde als een database_id in de sys.databases (Transact-SQL) -weergave.
physical_name sysname De fysieke naam van de database op de Shell/Compute-knooppunten. Deze waarde is hetzelfde als een waarde in de physical_name kolom in de sys.pdw_database_mappings (Transact-SQL) weergave.
pdw_node_id int Unieke numerieke id die is gekoppeld aan het knooppunt.

Voorbeelden: Analytics Platform System (PDW)

A. Terug

De volgende query geeft de naam en ID van elke database in master terug, en de bijbehorende databasenaam op elke compute-node.

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. Met sys.pdw_nodes_pdw_physical_databases gedetailleerde objectinformatie verzamelen

De volgende query toont informatie over indexen en bevat nuttige informatie over de database; de objecten behoren tot objecten in de database.

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. Met sys.pdw_nodes_pdw_physical_databases de encryptiestatus bepalen

De volgende query geeft de encryptiestatus van de AdventureWorksPDW2012-database.

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;