DBAtlas · Atlas de operações de banco de dados

Backup para URL (Azure Blob SAS / storage compatível com S3)

SQL ServerBackup e log

Comando

-- 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;

O que faz

Grava o backup diretamente em object storage: no Azure Blob como block blobs com uma credencial SAS, ou no 2022 em storage compatível com a API S3 (AWS S3, MinIO etc.) com uma credencial de access key. A credencial é escolhida automaticamente pela correspondência com o prefixo da URL.

Quando usar

Para requisitos de backup off-site, cenários de migração para a nuvem/DR híbrido ou quando o armazenamento local de backup é insuficiente.

Atenção

No Azure um único block blob comporta no máximo 50.000 blocos; com MAXTRANSFERSIZE de 4 MB isso dá cerca de 195 GB por arquivo, então faça striping de bancos grandes em várias URLs. No S3 um arquivo tem no máximo 10.000 partes; para bancos grandes aumente o MAXTRANSFERSIZE (até 20 MB, exige COMPRESSION) e faça striping em várias URLs (até 64). O S3 não suporta INIT/append; FORMAT sobrescreve um backup existente com o mesmo nome. Quando o SAS expira, os jobs de backup falham com erro; coloque a data de expiração na agenda. O segredo da credencial fica armazenado no master; principals com CONTROL SERVER podem usá-lo.

Abrir no DBAtlas →

Relacionados