Compression de sauvegardes (SQL Server)

Cette rubrique traite des concepts de base de la compression de la sauvegarde, notamment les compromis en termes de performances pour la compression des sauvegardes.

La compression des sauvegardes a été introduite dans SQL Server 2008 Enterprise. À compter de SQL Server 2008 R2, la compression de la sauvegarde est prise en charge par SQL Server 2008 R2 Standard et toutes les éditions supérieures. Chaque édition de SQL Server 2008 et ultérieure peut restaurer une sauvegarde compressée.

Limitations

Les restrictions suivantes s'appliquent aux sauvegardes compressées :

  • Les sauvegardes compressées et non compressées ne peuvent pas co-exister dans un support de sauvegardes.

  • Toutefois, les versions précédentes de SQL Server ne peuvent pas lire les sauvegardes compressées.

  • NTbackups ne peut pas partager de bande avec les sauvegardes SQL Server compressées.

Impact sur les performances de la compression des sauvegardes

Une sauvegarde compressée étant plus petite qu'une sauvegarde non compressée des mêmes données, la compression d'une sauvegarde requiert en général moins d'E/S de périphérique et, par conséquent, augmente souvent considérablement la vitesse de la sauvegarde.

Par défaut, la compression augmente considérablement l'utilisation de l'UC et l'UC supplémentaire consommée par le processus de compression peut nuire aux opérations simultanées. Par conséquent, il peut être préférable, dans une session où l'utilisation de l'UC est limitée, de créer une sauvegarde compressée de priorité basse à l'aide du gouverneur de ressources. Pour plus d'informations, consultez Procédure : utiliser le gouverneur de ressources pour limiter l'utilisation de l'UC par compression de sauvegarde (Transact-SQL).

Pour obtenir une bonne image de vos performances d'E/S de sauvegarde, vous pouvez isoler l'E/S de sauvegarde en direction ou depuis des unités en évaluant les types suivants de compteurs de performance :

  • Compteurs de performance d'E/S Windows, tels que les compteurs de disque physique

  • Compteur Débit d'unité en octets/s de l'objet SQLServer:Backup Device

  • Compteur Débit de sauvegarde/restauration/s de l'objet SQLServer:Databases

Pour des informations sur les compteurs Windows, consultez l'aide de Windows. Pour des informations sur l'utilisation des compteurs SQL Server, consultez Utilisation d'objets SQL Server.

Configuration

À l'installation, la compression de la sauvegarde est désactivée par défaut. Le comportement par défaut de la compression de la sauvegarde est défini par l'option de configuration au niveau du serveur Option Valeur par défaut de compression de la sauvegarde. Vous pouvez remplacer la valeur par défaut au niveau du serveur lors de la création d'une sauvegarde unique ou de la planification d'une série de sauvegardes de routine.

Pour modifier la valeur par défaut au niveau du serveur

Pour remplacer la valeur par défaut de compression de la sauvegarde

Vous pouvez modifier le comportement de compression de la sauvegarde pour une sauvegarde individuelle, un travail de sauvegarde ou une configuration de la copie des journaux de transaction.

  • Transact-SQL

    Pour une sauvegarde donnée, vous pouvez utiliser WITH NO_COMPRESSION ou WITH COMPRESSION dans une instruction BACKUP.

    Pour une configuration de copie des journaux, vous pouvez contrôler le comportement de compression de la sauvegarde pour des sauvegardes de journaux en utilisant sp_change_log_shipping_primary_database (Transact-SQL)sp_add_log_shipping_primary_database.

  • SQL Server Management Studio

    Vous pouvez remplacer la valeur par défaut de compression de la sauvegarde au niveau du serveur en spécifiant Compresser la sauvegarde ou Ne pas compresser la sauvegarde dans l'une des boîtes de dialogue suivantes :

    • Sauvegarder la base de données (page Options)

      Lors de la sauvegarde d'une base de données, vous pouvez contrôler la compression de la sauvegarde pour une sauvegarde de base de données, de fichier ou de journal individuelle.

    • Assistant Plan de maintenance

      L'Assistant Plan de la maintenance vous permet de contrôler la compression de la sauvegarde pour chaque jeu de sauvegardes complètes ou différentielles de base de données ou de sauvegardes de fichier journal que vous planifiez.

    • SQL Server 2008 Integration Services (SSIS) Tâche Sauvegarder la base de données

      Vous pouvez contrôler le comportement de compression de la sauvegarde lors de la création d'un package pour sauvegarder une base de données unique ou plusieurs bases de données.

    • Paramètres de sauvegarde des journaux de transactions

      Vous pouvez contrôler le comportement de compression de la sauvegarde pour les sauvegardes de journaux.

Taux de compression

Pour calculer le taux de compression d'une sauvegarde, utilisez les valeurs pour la sauvegarde dans les colonnes backup_size et compressed_backup_size de la table de l'historique backupset, comme suit :

backup_size:compressed_backup_size

Par exemple, un taux de compression 3:1 indique que vous économisez environ 66 % de l'espace disque. Pour effectuer une requête sur ces colonnes, vous pouvez utiliser l'instruction Transact-SQL suivante :

SELECT backup_size/compressed_backup_size FROM msdb..backupset;

Le taux de compression d'une sauvegarde compressée dépend des données compressées. Divers facteurs peuvent avoir une incidence sur le taux de compression obtenu. Les facteurs majeurs sont :

  • Le type des données.

    Les données caractères se compressent plus que d'autres types de données.

  • La cohérence des données dans les lignes sur une page.

    En général, si une page contient plusieurs lignes dans lesquelles un champ contient la même valeur, une compression importante peut se produire pour cette valeur. En revanche, pour une base de données qui contient des données aléatoires ou qui contient une seule grande ligne par page, une sauvegarde compressée serait presque aussi importante qu'une sauvegarde non compressée.

  • Si les données sont chiffrées.

    Les données chiffrées se compressent beaucoup moins que les données non chiffrées correspondantes. Si le chiffrement transparent des données est utilisé pour chiffrer une base de données entière, la compression des sauvegardes ne réduit pas leur taille de manière significative, voire pas du tout.

  • Si la base de données est compressée.

    Si la base de données est compressée, compresser des sauvegardes peut réduire faiblement leur taille, voire pas du tout.