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.
Important : |
---|
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
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
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 fichiersSGrp1Fi1
etSGrp1Fi2
. - Un groupe de fichiers nommé
SalesGroup2
avec les fichiersSGrp2Fi1
etSGrp2Fi2
.
Remarque : |
---|
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
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)