Freigeben über


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, verknüpfen Sie die Und-Tabellen.To combine information, join the sys.pdw_nodes_pdw_physical_databases to the sys.pdw_database_mappings and sys.databases tables.

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 Ansicht sys.databases (Transact-SQL) übereinstimmt.
physical_name sysname Der physische Name für die Datenbank auf den Shell-/Computeknoten. Dieser Wert ist identisch mit einem Wert in der Spalte physical_name in der Ansicht sys.pdw_database_mappings (Transact-SQL).
pdw_node_id int Eindeutige numerische ID, die dem Knoten zugeordnet ist.

Beispiele: Analytics-Plattformsystem (PDW)

A. Retournierend

Die folgende Abfrage gibt den Namen und die ID jeder Datenbank im Master und den entsprechenden Datenbanknamen für jeden Berechnungsknoten 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 zur Datenbank, die den Objekten in der Datenbank angehö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. Verwenden von sys.pdw_nodes_pdw_physical_databases zum Ermitteln des Verschlüsselungszustands

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)