DBAtlas · 데이터베이스 운영 아틀라스

URL로 백업 (Azure Blob SAS / S3 호환 스토리지)

SQL Server백업 및 로그

명령어

-- A) Azure Blob: SAS credential (named after the container URL, SECRET without a leading '?')
CREATE CREDENTIAL [https://dbabackup.blob.core.windows.net/sql]
WITH IDENTITY = N'SHARED ACCESS SIGNATURE',
     SECRET   = N'sv=2022-11-02&ss=b&srt=co&sp=rwdlac&se=2027-01-01T00:00:00Z&sig=XXXX';

BACKUP DATABASE [Musteri]
TO URL = N'https://dbabackup.blob.core.windows.net/sql/Musteri_full_1.bak',
   URL = N'https://dbabackup.blob.core.windows.net/sql/Musteri_full_2.bak'
WITH COMPRESSION, CHECKSUM, MAXTRANSFERSIZE = 4194304, BLOCKSIZE = 65536, STATS = 10;

-- B) S3-compatible storage (2022+):
CREATE CREDENTIAL [s3://s3.eu-central-1.amazonaws.com/dba-backup/sql]
WITH IDENTITY = N'S3 Access Key',
     SECRET   = N'<AccessKeyID>:<SecretKeyID>';

BACKUP DATABASE [Musteri]
TO URL = N's3://s3.eu-central-1.amazonaws.com/dba-backup/sql/Musteri_full.bak'
WITH COMPRESSION, CHECKSUM, FORMAT, STATS = 10;

-- Verify (uses the same credential):
RESTORE VERIFYONLY
FROM URL = N's3://s3.eu-central-1.amazonaws.com/dba-backup/sql/Musteri_full.bak'
WITH CHECKSUM;

하는 일

백업을 오브젝트 스토리지에 직접 기록한다: SAS 자격 증명으로 Azure Blob에 block blob으로, 또는 2022에서는 access key 자격 증명으로 S3 API 호환 스토리지(AWS S3, MinIO 등)에 기록한다. 자격 증명은 URL 접두사 일치로 자동 선택된다.

사용 시점

오프사이트 백업 요구 사항, 클라우드 마이그레이션/하이브리드 DR 시나리오, 또는 로컬 백업 스토리지가 부족할 때.

주의

Azure에서 단일 block blob은 최대 50,000 블록을 가지며 4 MB MAXTRANSFERSIZE에서는 파일당 약 195 GB이므로 큰 데이터베이스는 여러 URL로 스트라이핑한다. S3에서 파일은 최대 10,000 파트를 가지므로 큰 데이터베이스는 MAXTRANSFERSIZE를 늘리고(최대 20 MB, COMPRESSION 필요) 여러 URL(최대 64)로 스트라이핑한다. S3는 INIT/append를 지원하지 않으며 FORMAT은 같은 이름의 기존 백업을 덮어쓴다. SAS가 만료되면 백업 작업이 오류로 실패하므로 만료일을 일정에 기록한다. 자격 증명 secret은 master에 저장되며 CONTROL SERVER 권한을 가진 principal이 사용할 수 있다.

DBAtlas에서 열기 →

관련 항목