sys.pdw_nodes_pdw_physical_databases (Transact-SQL)

Aplica-se a:Analytics Platform System (PDW)

Contém uma linha para cada base de dados física num nó de computação. Agrega informação física da base de dados para obter informações detalhadas sobre as bases de dados. Para combinar a informação, junte as sys.pdw_nodes_pdw_physical_databases tabelas às sys.pdw_database_mappings e sys.databases .

Nome da Coluna Tipo de dados Description
database_id int O ID do objeto para a base de dados. Note que este valor não é o mesmo que um database_id na vista sys.databases (Transact-SQL).
physical_name sysname O nome físico da base de dados nos nós Shell/Compute. Este valor é o mesmo que um valor na coluna physical_name na vista sys.pdw_database_mappings (Transact-SQL).
pdw_node_id int ID numérico exclusivo associado ao nó.

Exemplos: Analytics Platform System (PDW)

A. A devolver

A consulta seguinte devolve o nome e o ID de cada base de dados no mestre, bem como o nome correspondente da base de dados em cada nó de computação.

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. Usar sys.pdw_nodes_pdw_physical_databases para recolher informações detalhadas sobre objetos

A consulta seguinte mostra informações sobre índices e inclui informações úteis sobre a base de dados a que pertencem os objetos na base de dados.

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. Usar sys.pdw_nodes_pdw_physical_databases para determinar o estado da encriptação

A consulta seguinte fornece o estado de encriptação da base de dados 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;