Procédure : sauvegarder des fichiers et des groupes de fichiers (Transact-SQL)

Lorsque la taille de la base de données et les exigences en matière de performances rendent impraticable une sauvegarde complète de la base de données, créez une sauvegarde de fichiers. Une sauvegarde de fichiers contient toutes les données dans un ou plusieurs fichiers (ou groupes de fichiers). Pour plus d'informations sur les sauvegardes de fichiers, consultez Sauvegardes complètes de fichiers et Sauvegardes différentielles de fichiers.

ms179401.note(fr-fr,SQL.90).gifImportant :
En mode de récupération simple, vous devez sauvegarder conjointement tous les fichiers en lecture-écriture. Vous pouvez ainsi garantir que la base de données peut être restaurée dans un état cohérent dans le temps. Plutôt que de spécifier individuellement chaque fichier ou groupe de fichier en lecture-écriture, utilisez l'option READ_WRITE_FILEGROUPS. Cette option sauvegarde tous les groupes de fichiers en lecture-écriture dans la base de données. Une sauvegarde qui est créée en spécifiant READ_WRITE_FILEGROUPS est une sauvegarde partielle. Pour plus d'informations, consultez Sauvegardes partielles.

Pour sauvegarder les fichiers et groupes de fichiers

  1. Pour créer une sauvegarde de fichier ou de groupe de fichiers, utilisez une instruction BACKUP DATABASE <file_or_filegroup>. Au minimum, cette instruction doit spécifier les actions suivantes :

    • Nom de la base de données.
    • Clause FILE ou FILEGROUP pour chaque fichier ou groupe de fichiers, respectivement.
    • L’unité de sauvegarde où sera écrite la sauvegarde complète.

    La syntaxe de base Transact-SQL d'une sauvegarde de fichiers est la suivante :

    BACKUP DATABASE database

    { FILE **=**logical_file_name | FILEGROUP **=**logical_filegroup_name } [ ,...f ]

    TO backup_device [ ,...n ]

    [ WITH with_options [ ,...o ] ] ;

    Option

  2. En mode de restauration complète, vous devez aussi sauvegarder le journal des transactions. Pour utiliser un jeu complet de sauvegardes de fichiers complètes afin de restaurer une base de données, vous devez aussi disposer de suffisamment de sauvegardes de journal pour couvrir toutes les sauvegardes de fichiers depuis la première sauvegarde de fichiers. Pour plus d'informations, consultez Procédure : Création d'une sauvegarde du journal des transactions (Transact-SQL).

Exemple

Dans les exemples suivants, vous procédez à une sauvegarde d'un ou plusieurs fichiers des groupes de fichiers secondaires de la base de données Sales. Cette base de données fait appel au mode de restauration complète et contient les groupes de fichiers secondaires suivants :

  • Un groupe de fichiers nommé SalesGroup1 avec les fichiers SGrp1Fi1 et SGrp1Fi2.
  • Un groupe de fichiers nommé SalesGroup2 avec les fichiers SGrp2Fi1 et SGrp2Fi2.
ms179401.note(fr-fr,SQL.90).gifRemarque :
En mode de restauration complète, les sauvegardes de journaux régulières sont nécessaires pour tronquer le journal et prendre en charge la restauration de la base de données jusqu'à un point spécifique dans le temps.
A. Création d'une sauvegarde de fichiers de deux fichiers

Dans l'exemple suivant, vous créez une sauvegarde de fichiers différentiel contenant seulement le fichier SGrp1Fi2 du SalesGroup1 et le fichierSGrp2Fi2 du groupe de fichiers SalesGroup2.

--Backup the files in the SalesGroup1 secondary filegroup.
BACKUP DATABASE Sales
   FILE = 'SGrp1Fi2', 
   FILE = 'SGrp2Fi2' 
   TO DISK = 'G:\SQL Server Backups\Sales\SalesGroup1.bck'
GO
B. Création d'une sauvegarde complète de fichiers des groupes de fichiers secondaires

L'exemple suivant crée une sauvegarde complète de fichiers de chaque fichier dans les groupes de fichiers secondaires.

--Back up the files in SalesGroup1.
BACKUP DATABASE Sales
   FILEGROUP = 'SalesGroup1',
   FILEGROUP = 'SalesGroup2'
   TO DISK = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck'
GO
C. Création d'une sauvegarde différentielle de fichiers des groupes de fichiers secondaires

L'exemple suivant crée une sauvegarde différentielle de fichiers de chaque fichier dans les groupes de fichiers secondaires.

--Back up the files in SalesGroup1.
BACKUP DATABASE Sales
   FILEGROUP = 'SalesGroup1',
   FILEGROUP = 'SalesGroup2'
   TO DISK = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck'
GO
   WITH 
      DIFFERENTIAL,
GO

Voir aussi

Tâches

Procédure : sauvegarder des groupes de fichiers et des fichiers de base de données (SQL Server Management Studio)

Concepts

Visualisation des informations concernant les sauvegardes
Sauvegardes complètes de fichiers
Restauration de fichiers (mode de restauration complète)

Autres ressources

BACKUP (Transact-SQL)
RESTORE (Transact-SQL)

Aide et Informations

Assistance sur SQL Server 2005