SQL Server/SQL Server Tip

Azure SQL Managed Instance에서 로컬 스토리지 사용량 모니터링

SungWookKang 2019. 9. 7. 00:49
반응형

Azure SQL Managed Instance에서 로컬 스토리지 사용량 모니터링

 

·       Version : SQL Server, Azure SQL Managed Instance

 

Azure SQL Managed Instance를 사용할때, 선택한 인스턴스의 vCore 및 예약 스토리지에 따라 사전에 정의된 스토리지 공간이 있다. 이번 포스트에서는 Managed Instance 스토리지 공간을 모니터링하는 방법에 대해서 알아본다.

 

Managed Instance에서는 아래와 같은 제약이 있다.

·       인스턴스의 스토리지 제한은 Azure Portal에서 선택할 수 있다. 범용은 8TB, 비즈니스 크리티컬은 4TB 보다 클 수 없다.

·       (범용 전용) 로컬 SSD 디스크 스토리지의 제한 – Managed Instance의 경우  tempdb는 24GB X vCore 공간만큼 로컬 SSD에 배치된다. 배치된 로컬 SSD 의 한계에 도달하면 tempdb에서 임시 객체를 만들수 없다.

 

스토리지 리밋에 도달하면 스토리지 공간/ vCore 수를 늘리거나 일부 리소스를 비워야 한다. 스토리지 변경은 오래 걸릴수 있기 때문에 스토리지 한계에 도달하기 전에 스토리지를 추가하는 것이 중요하다. sys.dm_os_volume_stats 는 Managed Instance 스토리지를 포함하여 볼륨에 대한 사용 정보를 제공한다. 아래 스크립트를 사용하여 스토리지의 사용량 정보를 확인 할 수 있다.

SELECT

       volume_mount_point,

       used_gb = CAST(MIN(total_bytes / 1024. / 1024 / 1024) AS NUMERIC(8,1)),

       available_gb = CAST(MIN(available_bytes / 1024. / 1024 / 1024) AS NUMERIC(8,1)),

       total_gb = CAST(MIN((total_bytes+available_bytes) / 1024. / 1024 / 1024) AS NUMERIC(8,1))

FROM sys.master_files AS f

       CROSS APPLY sys.dm_os_volume_stats(f.database_id, f.file_id)

GROUP BY volume_mount_point;

 

 

 

 

아래 그림에서 http://의 경우 원격 Azure Premium Disk 저장소를 사용하고 있는지 보여준다.

 

 

위 스크립트를 주기적으로 실행하여 available_gb 가 줄어드는 것을 확인하여 스토리지 공간이 부족할 경우 알림을 받을 수 있도록 한다.

 

[참고자료]

https://blogs.msdn.microsoft.com/sqlserverstorageengine/2019/03/08/monitor-storage-local-storage-usage-on-general-purpose-managed-instance/

 

 

2019-09-06 / Sungwook Kang / http://sungwookkang.com

 

Azure SQL Managed Instance, Azure Local Storage, SQL Azure, sys.dm_os_volume_stats, 로컬 스토리지

반응형