La compression et les groupes de fichiers en lecture seule

Les groupes de fichiers peuvent être marqués en lecture seule. Tout groupe de fichiers existant, à l'exception du groupe de fichiers primaire, peut être marqué en lecture seule. Un groupe de fichiers en lecture seule ne peut subir aucune modification. Il est possible de compresser les groupes de fichiers en lecture seule.

Placez les tables qui ne doivent pas être modifiées, telles que les données d'historique, dans un groupe de fichiers que vous marquez ensuite comme étant en lecture seule. Ceci empêche les mises à jour accidentelles.

Utilisation de la compression NTFS avec des groupes de fichiers définis par l'utilisateur en lecture seule et des bases de données en lecture seule

SQL Server prend en charge la compression NTFS des groupes de fichiers définis par l'utilisateur en lecture seule et des bases de données en lecture seule. Envisagez de compresser les données en lecture seule dans les situations suivantes :

  • vous avez un grand volume de données statiques ou historiques qui doivent être disponibles pour un accès limité en lecture seule ;

  • vous avez un espace disque limité.

Considérations relatives à l'administration

  • Seule la compression Windows NTFS est prise en charge. Pour plus d'informations, consultez la documentation du système de fichiers de Windows NTFS.

  • La compression est prise en charge pour les données utilisateur stockées dans des groupes de fichiers définis par l'utilisateur en lecture seule (.NDF). Les groupes de fichiers primaires et les journaux des transactions ne peuvent pas être compressés à moins que la base de données ne soit en lecture seule.

  • Pour compresser les fichiers d'un groupe de fichiers défini par l'utilisateur, la base de données doit être hors connexion. Pour plus d'informations, consultez ALTER DATABASE (Transact-SQL).

  • Pour compresser un fichier ou pour vérifier l'état de compression d'un fichier, utilisez la commande Windows COMPACT ou l'Explorateur Windows. Pour plus d'informations, consultez la documentation de Windows.

  • Les bases de données système SQL Server, comme master, model, msdb, resource et tempdb, ne peuvent pas être compressées.

  • Les sauvegardes et les restaurations SQL Server prennent en charge les groupes de fichiers compressés. Aucune modification de l'implémentation des sauvegardes et des restaurations n'est requise. La compression propre au système d'exploitation est transparente pour les opérations de sauvegarde et de restauration.

  • Toutes les instructions SELECT et les opérations en lecture seule sont entièrement prises en charge. Le temps d'exécution de ces instructions est plus élevé que pour les instructions équivalentes portant sur des groupes de fichiers non compressés.

  • Pour modifier les données compressées, les fichiers doivent être décompressés et le groupe de fichiers doit être défini comme étant accessible en lecture et en écriture.

  • Les groupes de fichiers primaires et définis par l'utilisateur d'une base de données en lecture seule peuvent être compressés. Les fichiers associés doivent compressés avec la compression NTFS.

  • Les opérations d'attachement de base de données sont prises en charge sur les groupes de fichiers compressés. Pour détacher une base de données, vous devez préalablement définir le groupe de fichiers en lecture seule. Avant d'attacher la base de données, les fichiers doivent être compressés.

Exemple de compression d'un groupe de fichiers secondaire

Dans cet exemple, les transactions concernant les bons de commande sont déplacées d'une base de données de production vers SalesArchive, une base de données d'archive stockée dans un groupe de fichiers compressé et en lecture seule. Les données font l'objet de recherches intermittentes à des fins d'analyse des ventes et d'analyse prévisionnelle, mais elles ne sont jamais modifiées.

  1. Pour préparer le déplacement des données de la base de données de production, l'administrateur de base de données (DBA) crée un groupe de fichier en lecture/écriture Sales01 dans SalesArchive, qui se trouve dans un répertoire NTFS.

  2. L'administrateur de base de données copie les transactions concernant les bons de commande de la base de données de production afin d'archiver les tables créées dans le groupe de fichiers Sales01.

  3. Quand tous les utilisateurs ont extrait leurs données de la base de données SalesArchive, l'administrateur de base de données modifie la base de données et définit le groupe de fichiers Sales01 comme étant en lecture seule avant de mettre la base hors connexion.

  4. À l'aide de la commande Windows COMPACT, l'administrateur de base de données compresse le fichier Sales01.ndf. Pour plus d'informations, consultez la documentation de Windows NTFS.

  5. L'administrateur de base de données remet la base de données SalesArchive en ligne. Les données sont à présent compressées et accessibles en lecture seule.