Azure SQL 내부 디스크 할당 방법   저장 가능 용량 확인

 

·         Version : Azure SQL

 

Azure SQL Database Managed Instance 모든 데이터베이스 파일을 Azure Storage 보관하는 Azure Cloud SQL Server 서비스 이다이번 포스트에서는 Managed Instance 스토리지 계층에 디스크를 할당하는 방법과 최대 사용한 가능한 디스크 공간을 확인하는 방법에 대해서 살펴본다.

 

 Azure SQL Database Managed Instance 일반적인 목적의  스토리지 계층과 데이터베이스 파일이 위치하는 Azure Premium 스토리지 계층을 가지고 있다. Managed Instance 모든 파일에 대해 미리 정의된 크기의 Azure disk(128GB, 256GB, 512GB ) 사용한다모든 파일은 현재 파일의 크기를 포함할  있는 가장 작은 단일 디스크에 저장된다이는 모든 Managed Instance 최대 35TB 내부 저장장치를 가지고 있기 때문에 중요하다 Managed Instance 프로비저닝하면  가지 스토리지 제한이 있다.

1.       Managed Instance 사용자 저장소는 사용자가 포털에서 선택한 managed instance 저장소 이며 저장소 크기에 따라 비용을 지불한다.

2.       Azure Premium disk 내부에서 물리적으로 공간을 할당할  35TB 초과   없다결과적으로 GP 인스턴스에서  가장 작은 디스크(128GB) 위치한 280개의 파일이 35TB 한도에 도달하므로 GP인스턴스에 280 넘는 파을을 저장할  없다.

 

데이터베이스 파일을 만들때,  Azure Premium Disk 사용하는데 파일크기가  경우 파일의 내부 조각화가 발생할  있다. Azure Premium Disk 고정된 디스크 크기 집합을 제공하므로 Managed Instance 데이터베이스 파일을 일치하는 디스크에 저장하도록 구현된다할당된 디스크 크기의 합은 35TB 초과할  없다만약 한계에 도달하면 에러가 발생할  있다아래 스크립트는 저장용량 한도에 도달했는지 확인할  있다 sys.master_files뷰를 래핑하고 모든 파일에 할당된 디스크 크기를 반환하는 표준 스키마뷰를 만든다.

CREATE SCHEMA mi;

GO

CREATE OR ALTER VIEW mi.master_files

AS

WITH mi_master_files AS

( SELECT *, size_gb = CAST(size * 8. / 1024 / 1024 AS decimal(12,4))

FROM sys.master_files )

SELECT *, azure_disk_size_gb = IIF(

database_id <> 2,

CASE WHEN size_gb <= 128 THEN 128

WHEN size_gb > 128 AND size_gb <= 256 THEN 256

WHEN size_gb > 256 AND size_gb <= 512 THEN 512

WHEN size_gb > 512 AND size_gb <= 1024 THEN 1024

WHEN size_gb > 1024 AND size_gb <= 2048 THEN 2048

WHEN size_gb > 2048 AND size_gb <= 4096 THEN 4096

ELSE 8192

END, NULL)

FROM mi_master_files;

GO

 

이제 Azure Premium disk 할당된 모든 데이터베이스 파일에 대한 크기를   있다.

SELECT db = db_name(database_id), name, size_gb, azure_disk_size_gb

from mi.master_files;

 

Azure disk 크기의 합은 35TB 초과해서는 안된다그렇지 않으면 Azure disk 오류가 발생한다다음 쿼리를 사용하여  할당된 저장 공간을 확인할  있다.

SELECT storage_size_tb = SUM(azure_disk_size_gb) /1024.

FROM mi.master_files

 

아래 스크립트는 새로운 파일이 128GB보다 작은것으로 가정하고 Managed Instance 추가할  있는 파일 수를 확인한다결과값이 0 경우 (또는 0 근사할 수록파일을 할당할  없으므로 새로운 계획이 필요 하다.

SELECT remaining_number_of_128gb_files =

(35 - ROUND(SUM(azure_disk_size_gb) /1024,0)) * 8

FROM mi.master_files

 

 

[참고자료]

https://blogs.msdn.microsoft.com/sqlserverstorageengine/2018/08/20/reaching-azure-disk-storage-limit-on-general-purpose-azure-sql-database-managed-instance/

 

 

2018-09-05 / Sungwook Kang / http://sqlmvp.kr

 

Azure SQL,  Managed Instance, SQL, Azure disk, database file. Azure storage



출처: https://sqlmvp.tistory.com/1283?category=663684 [Database Lab]
No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 31526
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 16319
2174 SQL Server Agent Job에서 sysploicy_purge_history 작업실패 jevida(강성욱) 2019.09.04 1429
2173 where절 case관련... BGT051 2019.09.03 1472
2172 SQL Server에서 테이블 이름을 변경하지 않고 테이터만 교체하기 jevida(강성욱) 2019.05.03 2224
2171 SQL Server master 데이터베이스 정리 jevida(강성욱) 2019.04.23 4883
2170 SQL Server 프로토콜과 SQLCMD를 사용한 연결 jevida(강성욱) 2019.04.23 1737
2169 SQL Server Edition 다운그레이드 후 확인사항 [1] jevida(강성욱) 2019.04.23 1647
2168 AlwaysOn 구성환경에서 Server Role 체크 후 Job Agent 실행 중지하기 jevida(강성욱) 2019.04.23 1036
2167 SSRS에서 E-mail 세팅시 SSL 사용 유무 수정하기 jevida(강성욱) 2019.03.26 936
2166 SQL Linux Instance Name 변경 jevida(강성욱) 2019.03.26 815
2165 SQL Linux 업그레이드 jevida(강성욱) 2019.03.26 1083
2164 Azure SQL Managed Instance 에서 SQL Agent의 Job history 기록 보관하기 jevida(강성욱) 2019.03.26 940
2163 Azure VM에서 SQL Server에 대한 저장소 구성 지침 jevida(강성욱) 2019.03.26 942
2162 Azure SQL에 도입된 새로운 집계 함수 APPROX_COUNT_DISTINCT jevida(강성욱) 2019.03.26 705
2161 Azure SQL의 데이터베이스 소유권 체인 jevida(강성욱) 2019.03.26 821
» Azure SQL의 내부 디스크 할당 방법 및 저장 가능 용량 확인 jevida(강성욱) 2019.03.26 845
2159 Azure SQL에서 이메일 보내기 jevida(강성욱) 2019.03.26 726
2158 Azure SQL에서 읽기 전용 복제본에 대한 접속 및 링크 서버 생성 jevida(강성욱) 2019.03.26 829
2157 Azure SQL에서 네트워크를 구성하는 방법 jevida(강성욱) 2019.03.26 576
2156 인덱스 재구성과 통계 업데이트시 발생하는 SQL Server Block jevida(강성욱) 2019.03.26 843
2155 SQL Server Scala UDF Inline 기능을 사용한 쿼리 성능 향상 jevida(강성욱) 2019.03.26 715





XE Login