Sauvegarder des fichiers et des groupes de fichiers (SQL Server)

Cette rubrique explique comment sauvegarder des fichiers et des groupes de fichiers dans SQL Server 2012 à l'aide de SQL Server Management Studio, de Transact-SQL ou de PowerShell. 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 de fichiers complètes (SQL Server) et Sauvegardes différentielles (SQL Server).

Dans cette rubrique

  • Avant de commencer :

    Limitations et restrictions

    Recommandations

    Sécurité

  • Pour sauvegarder des groupes de fichiers et des fichiers, utilisez :

    SQL Server Management Studio

    Transact-SQL

    PowerShell

Avant de commencer

Limitations et restrictions

  • L'instruction BACKUP n'est pas autorisée dans une transaction explicite ou implicite.

  • En mode de récupération simple, vous devez sauvegarder conjointement tous les fichiers en lecture-écriture. Cela permet de garantir la restauration de la base de données 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 (SQL Server).

  • Pour plus d'informations sur les limitations et les restrictions, consultez Vue d'ensemble de la sauvegarde (SQL Server).

Recommandations

  • Par défaut, chaque opération de sauvegarde réussie ajoute une entrée dans le journal des erreurs SQL Server et dans le journal des événements système. Si vous sauvegardez très fréquemment le journal, ces messages de réussite peuvent rapidement s'accumuler, créer des journaux d'erreurs très volumineux et compliquer la recherche d'autres messages. Dans de tels cas, vous pouvez supprimer ces entrées de journal en utilisant l'indicateur de trace 3226 si aucun de vos scripts ne dépend de ces entrées. Pour plus d'informations, consultez Indicateurs de trace (Transact-SQL).

Sécurité

Autorisations

Les autorisations BACKUP DATABASE et BACKUP LOG sont définies par défaut aux membres du rôle serveur fixe sysadmin et des rôles de base de données fixes db_owner et db_backupoperator.

Des problèmes de propriété et d'autorisations sur le fichier physique de l'unité de sauvegarde sont susceptibles de perturber une opération de sauvegarde. SQL Server doit être en mesure de lire et d'écrire sur l'unité ; le compte sous lequel le service SQL Server s'exécute doit avoir des autorisations d'écriture. Toutefois, sp_addumpdevice, qui ajoute une entrée pour une unité de sauvegarde dans les tables système, ne vérifie pas les autorisations d'accès au fichier. De tels problèmes pour le fichier physique de l'unité de sauvegarde peuvent n'apparaître que lorsque la ressource physique est sollicitée au moment de la sauvegarde ou de la restauration.

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Utilisation de SQL Server Management Studio

Pour sauvegarder des groupes de fichiers et des fichiers de base de données

  1. Après vous être connecté à l'instance appropriée du Moteur de base de données SQL Server, dans l'Explorateur d'objets, cliquez sur le nom du serveur pour développer son arborescence.

  2. Développez Bases de données puis, selon le cas, sélectionnez une base de données utilisateur ou développez Bases de données système et sélectionnez une base de données système.

  3. Cliquez avec le bouton droit sur la base de données, pointez sur Tâches, puis cliquez sur Sauvegarder. La boîte de dialogue Sauvegarder la base de données s'affiche.

  4. Dans la liste Base de données, vérifiez le nom de la base de données. Vous pouvez sélectionner une autre base de données dans la liste si vous le souhaitez.

  5. Dans la liste Type de sauvegarde, sélectionnez Complète ou Différentielle.

  6. Pour l'option Composant de sauvegarde, cliquez sur Fichier et groupes de fichiers.

  7. Dans la boîte de dialogue Sélection de fichiers et de groupes de fichiers, sélectionnez les fichiers et les groupes de fichiers que vous voulez sauvegarder. Vous pouvez sélectionner un ou plusieurs fichiers individuellement, ou vous pouvez activer la case qui permet de sélectionner automatiquement tous les fichiers d'un groupe de fichiers.

  8. Acceptez le nom du jeu de sauvegarde par défaut proposé dans la zone de texte Nom, ou attribuez-lui un autre nom.

  9. Dans la zone de texte Description, vous avez la possibilité de saisir une description du jeu de sauvegarde.

  10. Indiquez quand le jeu de sauvegarde arrivera à expiration :

    • Pour que le jeu de sauvegarde expire après un nombre spécifique de jours, cliquez sur Après (option par défaut). Ensuite, entrez le nombre de jours suivant la création du jeu où le jeu expirera. Cette valeur peut varier entre 0 et 99999 jours ; la valeur 0 indique que le jeu de sauvegarde n'expirera jamais.

      La valeur par défaut est définie dans l'option Délai de rétention par défaut du support de sauvegarde (jours) de la boîte de dialogue Propriétés du serveur (page Paramètres de base de données). Pour accéder à cette option, cliquez avec le bouton droit sur le nom du serveur dans l'Explorateur d'objets et sélectionnez les propriétés ; sélectionnez ensuite la page Paramètres de base de données.

    • Pour que le jeu de sauvegarde expire à une date spécifique, cliquez sur Le et entrez la date d'expiration souhaitée.

  11. Choisissez le type de destination de la sauvegarde : Disque ou Bande. Pour sélectionner les chemins d'accès de 64 lecteurs de bande ou disques (maximum) contenant un support de sauvegarde unique, cliquez sur Ajouter. Les chemins sélectionnés sont affichés dans la liste Sauvegarde sur.

    [!REMARQUE]

    Pour supprimer une destination, sélectionnez-la, puis cliquez sur Supprimer. Pour afficher le contenu d'une destination de sauvegarde, sélectionnez-la, puis cliquez sur Sommaire.

  12. Pour afficher ou sélectionner les options avancées, cliquez sur Options dans le volet Sélectionner une page.

  13. Sélectionnez une option Remplacer le support en cliquant sur un des éléments suivants :

    • Sauvegarder sur le support de sauvegarde existant

      Pour cette option, cliquez sur Ajouter au jeu de sauvegarde existant ou sur Remplacer tous les jeux de sauvegarde existants. Pour plus d'informations sur la sauvegarde sur un jeu de supports existant, consultez Jeux de supports, familles de supports et jeux de sauvegarde (SQL Server).

      Vous pouvez aussi activer la case à cocher Vérifier le nom du support de sauvegarde et la date d'expiration du jeu de sauvegarde pour forcer l'opération de sauvegarde à vérifier la date et l'heure de l'expiration du jeu de supports ou du jeu de sauvegarde.

      Vous pouvez éventuellement entrer un nom dans la zone de texte Nom du support de sauvegarde. Si aucun nom n'est spécifié, un support de sauvegarde avec un nom vide est créé. Si vous spécifiez un nom pour le jeu de sauvegarde, le support (bande ou disque) est vérifié pour voir si le nom réel correspond bien au nom que vous entrez ici.

      Si vous n'entrez pas de nom et que vous activez la case à cocher pour demander la vérification par rapport au support, le nom du support sera également vide sur le support.

    • Sauvegarder sur un nouveau support de sauvegarde et effacer tous les jeux de sauvegarde existants

      Pour cette option, entrez un nom dans la zone de texte Nouveau nom du support de sauvegarde et décrivez éventuellement le jeu de supports dans la zone de texte Description du nouveau support de sauvegarde. Pour plus d'informations sur la création d'un jeu de supports, consultez Jeux de supports, familles de supports et jeux de sauvegarde (SQL Server).

  14. Dans la section Fiabilité, vous pouvez activer les cases à cocher :

  15. Si vous effectuez la sauvegarde sur un lecteur de bande (spécifié dans la section Destination de la page Général), l'option Décharger la bande après la sauvegarde est active. Cliquer sur cette option active l'option Rembobiner la bande avant de décharger.

    [!REMARQUE]

    Les options de la section Journal des transactions sont inactives, à moins que vous sauvegardiez un journal des transactions (comme spécifié dans la section Type de sauvegarde de la page Général).

  16. SQL Server 2008 Enterprise et les versions ultérieures prennent en charge la compression de la sauvegarde. Par défaut, la compression d'une sauvegarde dépend de la valeur de l'option de configuration de serveur backup-compression default. Toutefois, quelle que soit la valeur par défaut actuelle au niveau du serveur, vous pouvez compresser une sauvegarde en activant Compresser la sauvegarde, et vous pouvez empêcher la compression en activant Ne pas compresser la sauvegarde.

    Pour consulter la valeur par défaut de compression de la sauvegarde actuelle

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Utilisation de Transact-SQL

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

    Description

    database

    Correspond à la base de données à partir de laquelle va être opérée la sauvegarde du journal des transactions, de la base de données partielle ou de la base de données complète.

    FILE = logical_file_name

    Indique le nom logique d'un fichier à inclure dans la sauvegarde de fichiers.

    FILEGROUP = logical_filegroup_name

    Indique le nom logique d'un groupe de fichiers à inclure dans la sauvegarde de fichiers. En mode de récupération simple, la sauvegarde d'un groupe de fichiers n'est autorisée que pour un groupe de fichiers en lecture seule.

    [ ,...f ]

    Espace réservé indiquant qu'il est possible de spécifier plusieurs fichiers et groupes de fichiers. Le nombre de fichiers ou de groupes de fichiers est illimité.

    backup_device [ ,...n ]

    Spécifie une liste de 1 à 64 unités de sauvegarde à utiliser pour l'opération de sauvegarde. Vous pouvez spécifier une unité de sauvegarde physique ou une unité de sauvegarde logique correspondante, si celle-ci est déjà définie. Pour spécifier une unité de sauvegarde physique, utilisez l'option DISK ou TAPE :

    { DISK | TAPE } = physical_backup_device_name

    Pour plus d'informations, consultez Unités de sauvegarde (SQL Server).

    WITH with_options [ ,...o ]

    Spécifie, éventuellement, une ou plusieurs options supplémentaires telles que DIFFERENTIAL.

    [!REMARQUE]

    Une sauvegarde différentielle de fichiers requiert une sauvegarde complète de fichiers comme base. Pour plus d'informations, consultez Créer une sauvegarde différentielle de base de données (SQL Server).

  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 Sauvegarder un journal des transactions (SQL Server).

Exemples (Transact-SQL)

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.

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 de fichiers complète 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 de fichiers différentielle des groupes de fichiers secondaires

L'exemple suivant crée une sauvegarde différentielle de tous les fichiers se trouvant dans les deux 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'
   WITH 
      DIFFERENTIAL;
GO

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Utilisation de PowerShell

  1. Utilisez l'applet de commande Backup-SqlDatabase et spécifiez Files comme valeur du paramètre -BackupAction. Spécifiez également l'un des paramètres suivants :

    • Pour sauvegarder un fichier spécifique, spécifiez le paramètre -DatabaseFile String, où String représente un ou plusieurs fichiers de base de données à sauvegarder.

    • Pour sauvegarder tous les fichiers d'un groupe donné, spécifiez le paramètre -DatabaseFileGroup String, où String représente un ou plusieurs groupes de fichiers de base de données à sauvegarder.

    L'exemple suivant crée une sauvegarde complète de tous les fichiers dans les groupes de fichiers secondaires 'FileGroup1' et 'FileGroup2' dans la base de données MyDB. Les sauvegardes sont créées à l'emplacement de sauvegarde par défaut de l'instance de serveur Computer\Instance.

    --Enter this command at the PowerShell command prompt, C:\PS>
    Backup-SqlDatabase -ServerInstance Computer\Instance -Database MyDB -BackupAction Files -DatabaseFileGroup "FileGroup1","FileGroup2"
    

Pour configurer et utiliser le fournisseur SQL Server PowerShell

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Voir aussi

Référence

BACKUP (Transact-SQL)

RESTORE (Transact-SQL)

Sauvegarder la base de données (page Général)

Sauvegarder la base de données (page Options)

Concepts

Vue d'ensemble de la sauvegarde (SQL Server)

Historique de sauvegarde et informations d'en-tête (SQL Server)

Sauvegardes de fichiers complètes (SQL Server)

Sauvegardes différentielles (SQL Server)

Restaurations de fichiers (mode de restauration complète)

Restauration de fichiers (mode de récupération simple)