Description de la prise en charge des bases de données SQL Server sur des volumes compressés

Cet article décrit le comportement de stockage des fichiers de base de données de SQL Server sur les lecteurs compressés.

Version du produit d’origine : SQL Server
Numéro de la base de connaissances d’origine : 231347

Résumé

SQL Server bases de données ne sont pas prises en charge sur les volumes compressés NTFS ou FAT, sauf dans des circonstances particulières pour SQL Server 2005 et versions ultérieures. Un volume compressé ne garantit pas les écritures alignées sur les secteurs, et celles-ci sont nécessaires pour garantir la récupération transactionnelle dans certaines circonstances.

Pour SQL Server 2005 et versions ultérieures, le stockage de fichiers de base de données sur les lecteurs compressés se comporte comme suit :

  • Si votre fichier de données appartient à un groupe de fichiers en lecture seule, le fichier est autorisé.

  • Si votre fichier de données appartient à une base de données en lecture seule, le fichier est autorisé.

  • Si votre fichier journal des transactions appartient à une base de données en lecture seule, le fichier est autorisé.

  • Si vous essayez d’afficher une base de données en lecture/écriture avec des fichiers sur un lecteur compressé, SQL Server génère l’erreur suivante :

    Msg 5118, Level 16, State 2, Line 1 Le fichier «<file_name> » est compressé mais ne réside pas dans une base de données ou un groupe de fichiers en lecture seule. Le fichier doit être décompressé.

Pour plus d’informations sur les exclusions pour les bases de données en lecture seule et les groupes de fichiers en lecture seule dans SQL Server 2008, accédez au site web MSDN suivant :

Groupes de fichiers et compression en lecture seule

Remarque

Cette rubrique s’applique également à SQL Server 2012 et versions ultérieures.

Plus d’informations

Bien qu’il soit physiquement possible d’ajouter des bases de données SQL Server sur des volumes compressés, nous déconseillons cette option et nous ne la prenons pas en charge. Les raisons sous-jacentes sont les suivantes :

  • Performances

    Les bases de données sur des volumes compressés peuvent entraîner une surcharge de performances importante. Le montant varie en fonction du volume d’E/S et du ratio lectures/écritures. Toutefois, une dégradation de plus de 500 % a été observée dans certaines conditions.

  • Récupération de base de données

    La récupération transactionnelle fiable de la base de données nécessite des écritures alignées sur les secteurs, et les volumes compressés ne prennent pas en charge ce scénario. Un deuxième problème concerne la gestion de l’espace de récupération interne. SQL Server réserve en interne de l’espace préalloué dans les fichiers de base de données pour les restaurations. Il est possible sur les volumes compressés de recevoir une erreur Espace insuffisant sur les fichiers préalloués, ce qui interfère avec la récupération réussie.

Dans certains scénarios, une sauvegarde SQL Server sur un volume compressé ou un dossier compressé échoue. Lorsque ce problème se produit, vous recevez l’un des messages d’erreur suivants.

  • Dans Windows Vista et les versions ultérieures de Windows

    STATUS_FILE_SYSTEM_LIMITATION L’opération demandée n’a pas pu être effectuée en raison d’une limitation du système de fichiers
    Erreur du système d’exploitation 665 (L’opération demandée n’a pas pu être effectuée en raison d’une limitation du système de fichiers)

  • Dans les versions antérieures de Windows

    STATUS_INSUFFICIENT_RESOURCES ressources système sont insuffisantes pour terminer le service demandé Erreur du système d’exploitation 1450(Ressources système insuffisantes pour terminer la demande ou 33(Le processus ne peut pas accéder au fichier, car un autre processus a verrouillé une partie du fichier.)

Pour plus d’informations sur ce problème, consultez Un fichier fortement fragmenté dans un volume NTFS peut ne pas dépasser une certaine taille.

Remarque

  • Le correctif logiciel pour Windows Vista et les versions ultérieures de Windows décrit dans l’article de la Base de connaissances 967351 peut ne pas résoudre le problème des sauvegardes SQL Server qui ne réussissent pas dans un volume compressé ou dans un dossier compressé. Toutefois, ce correctif logiciel vous aidera à résoudre le problème.
  • Après avoir appliqué le correctif logiciel décrit dans l’article de la Base de connaissances 967351, vous devez mettre en forme le lecteur sur lequel la compression est activée à l’aide du /L paramètre . Lorsque vous mettez en forme le lecteur sur lequel la compression est activée à l’aide du /L paramètre , le segment Octets par enregistrement de fichier passe de 1 024 octets à 4 096 octets.

SQL Server sauvegardes sur des volumes compressés peuvent économiser de l’espace disque. Toutefois, elles peuvent augmenter l’utilisation du processeur pendant l’opération de sauvegarde. Nous vous recommandons toujours d’utiliser les fonctionnalités de somme de contrôle BACKUP pour garantir l’intégrité des données.

SQL Server nécessite que les systèmes prennent en charge la livraison garantie à des supports stables, comme indiqué dans les exigences du programme de fiabilité d’E/S SQL Server.

Pour plus d’informations sur les exigences d’entrée et de sortie pour le moteur de base de données SQL Server, consultez Moteur de base de données Microsoft SQL Server exigences d’entrée/sortie