Sauvegardes de copie uniquement

S’applique à :SQL ServerAzure SQL Managed Instance

Une sauvegarde de copie uniquement est une sauvegarde SQL Server indépendante de la séquence de sauvegardes SQL Server conventionnelles. Normalement, une sauvegarde modifie la base de données et affecte la restauration des sauvegardes ultérieures. Toutefois, il est parfois utile d’effectuer une sauvegarde à des fins spéciales sans affecter les procédures globales de sauvegarde et de restauration de la base de données. Pour cela, on peut recourir à une sauvegarde de copie uniquement.

Les types de sauvegarde de copie uniquement sont les suivants :

  • Sauvegardes complètes de copie uniquement (tous les modèles de récupération)

    • Une sauvegarde en copie seule ne peut pas servir de base différentielle ou de sauvegarde différentielle et n’affecte pas la base différentielle.

    • La restauration d'une sauvegarde complète de copie uniquement est identique à la restauration de toute autre sauvegarde complète.

  • Sauvegardes de journaux de copie uniquement (modèle de récupération complète et modèle de récupération journalisé en bloc uniquement)

    • Une sauvegarde de journal de copie uniquement conserve le point d’archivage de journal existant et, par conséquent, n’affecte pas le séquencement des sauvegardes de journaux régulières. Les sauvegardes de journaux de type copie seule sont généralement superflues. Au lieu de cela, vous pouvez créer une sauvegarde de journal de routine (à l’aide WITH NORECOVERY) et utiliser cette sauvegarde avec toutes les sauvegardes de journaux précédentes requises pour la séquence de restauration. Toutefois, une sauvegarde de fichier journal de copie uniquement peut parfois être utile pour effectuer une restauration en ligne. Pour plus d’informations, suivez les instructions de l’article Exemple : Restauration en ligne d’un fichier en lecture-écriture (modèle de récupération complète) à l’aide des fichiers de sauvegarde de copie uniquement.

    • Le journal des transactions n'est jamais tronqué après une sauvegarde de type copie seule.

Les sauvegardes de copie uniquement sont enregistrées dans la is_copy_only colonne de la table de jeu de sauvegarde .

Important

Dans Azure SQL Managed Instance, les sauvegardes de copie uniquement ne peuvent pas être créées pour une base de données chiffrée avec transparent data Encryption (TDE) géré par le service. TDE géré par le service utilise une clé interne pour le chiffrement des données et cette clé ne peut pas être exportée. Vous n’avez donc pas pu restaurer la sauvegarde ailleurs. Envisagez d’utiliser TDE géré par le client pour pouvoir créer des sauvegardes de type copie seule des bases de données chiffrées, mais assurez-vous que la clé de chiffrement est disponible pour une restauration ultérieure.

Créer une sauvegarde de copie uniquement

Vous pouvez créer une sauvegarde de copie uniquement avec SQL Server Management Studio, Azure Data Studio, Transact-SQL ou PowerShell.

A. Utiliser SQL Server Management Studio

Dans cet exemple, une sauvegarde de copie uniquement de la Sales base de données est sauvegardée sur disque à l’emplacement de sauvegarde par défaut.

  1. Dans l’ Explorateur d’objets, connectez-vous à une instance du moteur de base de données SQL Server et développez-la.

  2. Développez Bases de données, cliquez avec le bouton droit sur Sales, pointez sur Tâches, puis sélectionnez Sauvegarder….

  3. Dans la page Général de la section Source, case activée la case activée de sauvegarde de copie uniquement.

  4. Cliquez sur OK.

B. Utiliser Transact-SQL

Cet exemple crée une sauvegarde de copie uniquement pour la Sales base de données utilisant le COPY_ONLY paramètre. Une sauvegarde de copie seule du journal des transactions est également prise.

BACKUP DATABASE Sales
TO DISK = 'E:\BAK\Sales_Copy.bak'
WITH COPY_ONLY;

BACKUP LOG Sales
TO DISK = 'E:\BAK\Sales_LogCopy.trn'
WITH COPY_ONLY;

Remarque

COPY_ONLY n’a aucun effet lorsqu’il est spécifié avec l’option DIFFERENTIAL .

C. Utiliser Transact-SQL et Azure SQL Managed Instance

Azure SQL Managed Instance prend en charge COPY_ONLY sauvegardes complètes. L’exemple illustre la sauvegarde COPY_ONLY de MyDatabase dans le Stockage Blob Microsoft Azure. Le nom du compte de stockage est mystorageaccount. Le conteneur se nomme myfirstcontainer. Une stratégie d’accès au stockage a été créée avec des droits de lecture, d’écriture, de suppression et de liste. Les informations d’identification SQL Server ont https://mystorageaccount.blob.core.windows.net/myfirstcontainerété créées à l’aide d’une signature d’accès partagé associée au secret de stratégie d’accès Stockage. Pour plus d’informations sur la sauvegarde SQL Server dans le Stockage Blob Microsoft Azure, consultez Sauvegarde et restauration SQL Server avec le Stockage Blob Microsoft Azure et Sauvegarde SQL Server sur URL.

-- Prerequisite to have write permissions
CREATE CREDENTIAL [https://mystorageaccount.blob.core.windows.net/myfirstcontainer]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sp=...' -- Enter your secret SAS token here.

BACKUP DATABASE MyDatabase
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabaseBackup.bak'
WITH STATS = 5, COPY_ONLY;

Pour effectuer une sauvegarde de copie uniquement divisée en plusieurs bandes, utilisez cet exemple :

BACKUP DATABASE MyDatabase
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-01.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-02.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-03.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-04.bak'
WITH COPY_ONLY;

D. Utiliser PowerShell

Cet exemple crée une sauvegarde de copie uniquement pour la Sales base de données utilisant le -CopyOnly paramètre.

Backup-SqlDatabase -ServerInstance 'SalesServer' -Database 'Sales' -BackupFile 'E:\BAK\Sales_Copy.bak' -CopyOnly

Créer une sauvegarde complète ou de journal

Afficher les sauvegardes de copie uniquement

Configurer et utiliser le fournisseur PowerShell SQL Server