다음을 통해 공유


sys.pdw_nodes_pdw_physical_databases(Transact-SQL)

적용 대상: PDW(분석 플랫폼 시스템)

컴퓨팅 노드의 각 물리적 데이터베이스에 대한 행을 포함합니다. 실제 데이터베이스 정보를 집계하여 데이터베이스에 대한 자세한 정보를 가져옵니다. 정보를 결합하려면 테이블에 조 sys.pdw_nodes_pdw_physical_databasessys.pdw_database_mappings sys.databases 합니다.

열 이름 데이터 형식 설명
database_id int 데이터베이스의 개체 ID입니다. 이 값은 sys.databases(Transact-SQL) 보기의 database_id 동일하지 않습니다.
physical_name sysname Shell/Compute 노드의 데이터베이스에 대한 실제 이름입니다. 이 값은 sys.pdw_database_mappings(Transact-SQL) 뷰의 physical_name 열에 있는 값과 같습니다.
pdw_node_id int 노드와 연결된 고유 숫자 ID입니다.

예제: 분석 플랫폼 시스템(PDW)

A. 다시 방문

다음 쿼리는 마스터에 있는 각 데이터베이스의 이름 및 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 및 병렬 데이터 웨어하우스 카탈로그 뷰
sys.databases(Transact-SQL)
sys.pdw_database_mappings(Transact-SQL)