다음을 통해 공유


분석 플랫폼 시스템에서 용량 사용률 보기

이 문서에서는 SQL Server PDW(병렬 데이터 웨어하우스) 어플라이언스 용량 사용률을 보는 방법을 설명합니다.

관리 콘솔을 사용하여 용량 사용률을 보려면

사용된 공간을 보려면 관리 콘솔을 열고 스토리지 탭을 선택합니다. PDW 지역에 대한 스토리지 탭이 있습니다.

Screenshot shows P D W Admin Console Storage page.

쿼리를 사용하여 용량 사용률을 보려면

노드가 공간이 부족한지 이해하기 위해 SQL Server PDW 상태 모니터링 시스템은 이미 각 노드 내의 모든 볼륨에 대해 사용 가능한 공간을 모니터링합니다.

볼륨 내의 여유 공간이 30% 미만으로 떨어지면 SQL Server PDW는 sys.dm_pdw_component_health_active_alerts 경고 경고를 생성합니다. 사용 가능한 공간을 사용할 수 있을 때까지 경고가 다시 기본.

볼륨 내의 여유 공간이 10% 미만으로 떨어지면 SQL Server PDW는 중요한 경고를 생성합니다. 이 상황은 쿼리가 데이터베이스를 확장할 경우 실패할 수 있기 때문에 중요한 것으로 간주됩니다.

볼륨 사용량을 검색하려면 다음 예제를 참조하세요.

SELECT   
    space.[pdw_node_id] ,  
    space.[node_name] ,  
    MAX(space.[volume_name]) AS 'volume_name' ,  
    MAX(space.[volume_size_mb]) AS 'volume_size_mb' ,  
    MAX(space.[free_space_mb]) AS 'free_space_mb' ,  
   (MAX(space.[volume_size_mb]) - MAX(space.[free_space_mb])) AS 'space_utilized'  
FROM (  
    SELECT   
        s.[pdw_node_id],  
        n.[name] AS [node_name],  
        (CASE WHEN p.property_name = 'volume_name'   
            THEN s.[property_value] ELSE NULL END) AS 'volume_name' ,  
        (CASE WHEN p.property_name = 'volume_size'   
            THEN (CAST(ISNULL(s.[property_value], '0') AS BIGINT)/1024/1024)   
            ELSE 0 END) AS 'volume_size_mb' ,  
        (CASE WHEN p.property_name = 'volume_free_space'   
            THEN (CAST(ISNULL(s.[property_value], '0') AS BIGINT)/1024/1024)   
            ELSE 0 END) AS 'free_space_mb' , s.[component_instance_id]  
    FROM [sys].[dm_pdw_component_health_status] AS s  
        JOIN sys.dm_pdw_nodes AS n   
            ON s.[pdw_node_id] = n.[pdw_node_id]  
        JOIN [sys].[pdw_health_components] AS c   
            ON s.[component_id] = c.[component_id]  
        JOIN [sys].[pdw_health_component_properties] AS p   
            ON s.[property_id] = p.[property_id] AND s.[component_id] = p.[component_id]  
    WHERE  
        c.[Component_name] = 'Volume'  
        AND p.[property_name] IN ('volume_name', 'volume_free_space', 'volume_size')  
    ) AS space  
GROUP BY space.[pdw_node_id] , space.[node_name] , space.[component_instance_id]  
ORDER BY space.[pdw_node_id], MAX(space.[volume_name]);  

어플라이언스 노드에서 데이터베이스에서 사용하는 공간을 검색하려면 다음 예제를 참조하세요.

SELECT   
    [pdw_node_id],   
    [db_name],   
    SUM(CASE WHEN [file_type] = 'DATA' THEN [value_MB] ELSE 0 END) AS [DataSizeMB],  
    SUM(CASE WHEN [file_type] = 'LOG' THEN [value_MB] ELSE 0 END) AS [LogSizeMB],  
    SUM([value_MB]) AS [TotalMB]  
FROM (  
    SELECT   
        pc.[pdw_node_id],   
        RTRIM(pc.[counter_name]) AS [counter_name],   
        ISNULL(d.[name], pc.[instance_name]) AS [db_name],   
        pc.[cntr_value]/1024 AS [value_MB],  
        CASE   
            WHEN [counter_name] LIKE 'Data File(s) Size%'   
            THEN 'DATA'   
            ELSE 'LOG'   
        END AS [file_type]  
    FROM sys.dm_pdw_nodes_os_performance_counters AS pc  
        LEFT JOIN sys.pdw_database_mappings AS dm   
            ON pc.instance_name = dm.physical_name  
        INNER JOIN sys.databases AS d   
            ON d.database_id = dm.database_id  
    WHERE   
        ([counter_name] LIKE 'Log File(s) Size%'  
             OR [counter_name] LIKE 'Data File(s) Size%')  
        AND (d.[name] <> dm.[physical_name]   
             OR pc.[instance_name] = 'tempdb')  
) AS db  
GROUP BY [pdw_node_id], [db_name]  
ORDER BY [db_name], [pdw_node_id];