Compacter et Réparer une Base de Données

Éviter et corriger les problèmes de fichier de base de données à l’aide de la commande Compacter et réparer

Les fichiers de base de données peuvent croître rapidement à mesure que vous les utilisez, parfois jusqu’à entraver les performances. Ils peuvent parfois être endommagés ou endommagés. Vous pouvez utiliser la commande compacter et réparer la base de données pour éviter ou résoudre ces problèmes. Le processus de compactage ne compacte pas vos données ; il réduit la taille du fichier de base de données en supprimant l’espace inutilisé. La commande Compacter une base de données peut également améliorer les performances de votre base de données.Conseil : le fractionnement d’une base de données permet d’empêcher la corruption des fichiers de base de données et de limiter la perte des données en stockant ces données dans un fichier distinct auquel les utilisateurs ne peuvent pas accéder directement.

Méthodes pour compacter et réparer une base de données

Pour compacter et réparer une base de données, vous pouvez procéder de plusieurs manières. Une pratique courante consiste à compacter et réparer automatiquement une base de données lors de sa fermeture. De plus, vous pouvez exécuter la commande compacter et réparer la base de données lorsque vous avez une base de données ouverte et sur une base de données qui n’est pas ouverte.

Avant de commencer

Avant de commencer une opération de compactage et de réparation, effectuez les opérations suivantes :

  • Effectuer une sauvegarde de la base de données    Pendant le processus de réparation, Access risque de tronquer des données de tables endommagées. Il est parfois possible de récupérer ces données à partir d’une sauvegarde. En plus de votre stratégie de sauvegarde normale, vous devez effectuer une sauvegarde immédiatement avant d’utiliser la commande compacter et réparer la base de données . Pour plus d’informations, voir protéger les données avec les processus de sauvegarde et de restauration.
  • Obtenir un accès exclusif à la base de données    Une opération de compactage et réparation requiert un accès exclusif au fichier de base de données, car elle peut perturber d’autres utilisateurs. Si vous envisagez d’exécuter un processus de compactage et réparation, vous devez avertir les autres utilisateurs afin que ceux-ci évitent d’utiliser la base de données pendant ce temps. Pour plus d’informations, voir ouvrir une base de données Access existante. Indiquez aux utilisateurs le temps pendant lequel ils doivent éviter d’utiliser la base de données. Si vous exécutez régulièrement des opérations de compactage et réparation, consignez le temps qu’elles prennent. Vous pouvez ensuite effectuer des estimations plus précises pour indiquer aux autres utilisateurs le temps pendant lequel ils doivent éviter d’utiliser la base de données.
  • Disposer d’une autorisation suffisant sur le fichier pour la base de données    Si vous n’avez pas suffisamment d’autorisations et que vous avez besoin de compacter et réparer une base de données, contactez votre administrateur système pour obtenir de l’aide. Pour plus d’informations, reportez-vous à la section modifications du partage de fichiers sur un réseau dans Windows 10.

Compacter et réparer automatiquement une base de données lors de sa fermeture

Vous pouvez sélectionner l’option de base de données Compacter lors de la fermeture si vous voulez compacter et réparer automatiquement une base de données à la fermeture de celle-ci. Le définition de cette option affecte uniquement la base de données ouverte. Définissez cette option séparément pour chaque base de données que vous voulez compacter et réparer automatiquement. Dans les bases de données multi-utilisateurs, il est déconseillé de définir cette option car elle peut perturber momentanément la disponibilité de la base de données.

  1. Sélectionnez Fichier > Options.
  2. Dans la boîte de dialogue Options Access , cliquez sur base de données active.
  3. Sous Options de l’application, sélectionnez Compacter lors de la fermeture.
  4. Sélectionnez OK.
  5. Fermez et rouvrez la base de données pour que l’option prenne effet.

Compacter et réparer manuellement une base de données que vous avez ouverte

  • Sélectionnez fichier > informations > compact & réparer la base de données.Access crée une copie de la base de données compactée et réparée au même emplacement.

Compacter et réparer manuellement une base de données non ouverte

Utilisez cette procédure si vous ne pouvez pas directement ouvrir une base de données Access.

  1. Assurez-vous qu’aucun utilisateur n’utilise actuellement le fichier de base de données.
  2. Démarrez Access.
  3. Dans Access 2013, Access 2016 et Access 2019 :
    1. Dans la page modèles, double-cliquez sur base de données vide.
    2. Sélectionnez fichier > Fermer.
  4. Sélectionnez outils de base de données > compacter et réparer la base de données.
  5. Dans la boîte de dialogue Base de données à compacter à partir de, accédez à la base de données à compacter et réparer, puis double-cliquez dessus.

Access crée une copie de la base de données compactée et réparée au même emplacement.

Compacter et réparer une base de données endommagée lorsque Access vous invite à le faire

Lorsque vous essayez d’ouvrir un fichier de base de données qui est endommagé, si vous y êtes invité par Access pour compacter et réparer la base de données, sélectionnez Oui. Deux choses peuvent se produire :

  • Si Access répare complètement un fichier endommagé, il affiche un message indiquant que la réparation a réussi et vous invitant à vérifier le contenu de la base de données pour vous assurer que tout est bien en ordre.
  • Si Access ne réussit que partiellement, il effectue le suivi d’objets de base de données qu’il n’a pas pu réparer dans une table système nommée MSysCompactErrors. Access ouvre la table MSysCompactErrors en mode feuille de données. Si vous avez une sauvegarde antérieure avant la corruption de la base de données, vous pouvez utiliser la table MSysCompactErrors pour déterminer les objets à importer dans votre base de données réparée. Pour afficher les tables système, cliquez avec le bouton droit sur la barre de titre de navigation, puis dans la boîte de dialogue options de navigation , sélectionnez afficher les objets système.

Pourquoi vous devez compacter et réparer une base de données

Cette vue d’ensemble explique comment utiliser la commande Compacter et réparer une base de données pour prévenir et corriger les problèmes suivants qui peuvent affecter une base de données : la taille des fichiers augmente à l’usage et certains fichiers sont endommagés.

La taille des fichiers augmente à l’usage

Lorsque vous ajoutez et mettez à jour des données dans un fichier de base de données, puis modifiez sa conception, le fichier devient plus volumineux. Une partie de cette croissance provient de l’ajout de données, mais une autre partie a d’autres causes :

  • Access crée des objets temporaires masqués pour accomplir diverses tâches. Parfois, ceux-ci demeurent dans votre base de données même quand Access n’en a plus besoin.
  • Lorsque vous supprimez un objet de base de données, l’espace disque que l’objet occupait n’est pas automatiquement récupéré. Le fichier de base de données continue d’utiliser cet espace, même après suppression de l’objet.

À mesure que votre fichier de base de données se remplit avec des restes d’objets temporaires supprimés, ses performances peuvent se dégrader. Les objets peut s’ouvrir plus lentement, les requêtes peuvent s’exécuter plus lentement qu’elles ne le devraient, et les opérations usuelles prendre davantage de temps.

Certains fichiers sont endommagés

Certaines circonstances peuvent avoir pour conséquence d’endommager un fichier de base de données. Si un fichier de base de données est partagé sur un réseau et que plusieurs utilisateurs travaillent directement dessus simultanément, ce fichier court un faible risque d’endommagement. Ce risque est légèrement élevé si des utilisateurs modifient fréquemment des données dans les champs Mémo, et il augmente au fil du temps. Vous pouvez réduire ce risque en utilisant la commande Compacter et réparer une base de données.

Souvent, ce type de corruption résulte d’un problème lié à un module Visual Basic pour applications (VBA) et n’entraîne aucun risque de perte de données. Toutefois, ce type d’endommagement pose un risque réel de corruption de la conception de base de données se traduisant, par exemple, par une perte de code VBA ou des formulaires inutilisables.

Il est rare que l’endommagement d’un fichier de base de données entraîne une perte de données. En règle générale, cette perte est limitée à la dernière action d’un utilisateur et donc à une seule modification des données. Si, quand un utilisateur commence à modifier des données, la modification est interrompue (par exemple, en raison d’une perte du service de réseau), Access marque le fichier de base de données comme un fichier endommagé. Le fichier est réparable, mais certaines données peuvent avoir disparu une fois la réparation terminée.