sys.pdw_nodes_pdw_physical_databases (Transact-SQL)

Gilt für:Analytics Platform System (PDW)

Enthält eine Zeile für jede physische Datenbank auf einem Computeknoten. Aggregieren Sie physische Datenbankinformationen, um detaillierte Informationen zu Datenbanken zu erhalten. Um Informationen zu kombinieren, fügen Sie die sys.pdw_nodes_pdw_physical_databases mit den sys.pdw_database_mappings Tabellen und sys.databases zusammen.

Spaltenname Datentyp BESCHREIBUNG
database_id int Die Objekt-ID für die Datenbank. Beachten Sie, dass dieser Wert nicht mit einem database_id in der Sicht sys.databases (Transact-SQL) identisch ist.
physical_name sysname Der physische Name für die Datenbank auf den Shell-/Compute-Knoten. Dieser Wert ist mit einem Wert in der spalte physical_name in der sys.pdw_database_mappings (Transact-SQL) identisch.
pdw_node_id int Eindeutige numerische ID, die dem Knoten zugeordnet ist.

Beispiele: Analytics-Plattformsystem (PDW)

A. Rückreise

Die folgende Abfrage gibt den Namen und die ID jeder Datenbank in master sowie den entsprechenden Datenbanknamen auf jedem Computeknoten zurück.

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. Verwenden von sys.pdw_nodes_pdw_physical_databases zum Sammeln detaillierter Objektinformationen

Die folgende Abfrage zeigt Informationen zu Indizes und enthält nützliche Informationen über die Datenbank, in der die Objekte zu Objekten in der Datenbank gehören.

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. Bestimmen des Verschlüsselungsstatus mithilfe von sys.pdw_nodes_pdw_physical_databases

Die folgende Abfrage stellt den Verschlüsselungsstatus der AdventureWorksPDW2012-Datenbank bereit.

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;  

Weitere Informationen

Katalogsichten von Azure Synapse Analytics und Parallel Data Warehouse Catalog
sys.databases (Transact-SQL)
sys.pdw_database_mappings (Transact-SQL)