DBAtlas · Atlas d'exploitation des bases de données

Sauvegarde vers URL (Azure Blob SAS / stockage compatible S3)

SQL ServerSauvegarde et journal

Commande

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

Ce que fait la commande

Écrit la sauvegarde directement dans un stockage objet : vers Azure Blob en block blobs avec un credential SAS, ou en 2022 vers un stockage compatible API S3 (AWS S3, MinIO etc.) avec un credential à clé d'accès. Le credential est choisi automatiquement par correspondance avec le préfixe de l'URL.

Quand l'utiliser

Pour les exigences de sauvegarde hors site, les scénarios de migration cloud/DR hybride, ou quand le stockage local de sauvegarde est insuffisant.

Attention

Sur Azure, un block blob contient au plus 50,000 blocs ; avec un MAXTRANSFERSIZE de 4 MB, cela fait environ 195 GB par fichier, répartissez donc les grandes bases sur plusieurs URL. Sur S3, un fichier a au plus 10,000 parties ; pour les grandes bases, augmentez MAXTRANSFERSIZE (jusqu'à 20 MB, nécessite COMPRESSION) et répartissez sur plusieurs URL (jusqu'à 64). S3 ne prend pas en charge INIT/append ; FORMAT écrase une sauvegarde existante du même nom. À l'expiration du SAS, les jobs de sauvegarde échouent avec une erreur ; inscrivez la date d'expiration au calendrier. Le secret du credential est stocké dans master ; les principaux disposant de CONTROL SERVER peuvent l'utiliser.

Ouvrir dans DBAtlas →

Voir aussi