Les fichiers de base de données peuvent croître rapidement à mesure que vous les utilisez, parfois jusqu’à entraver les performances. Il arrive également qu’ils deviennent corrompus ou endommagés. Vous pouvez utiliser la commande Compacter et réparer une base de données pour prévenir 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.
Le fractionnement d’une base de données peut contribuer à empêcher l’corruption des fichiers de base de données et à limiter la perte de données en conservant ces données dans un fichier distinct que les utilisateurs ne peuvent pas consulter directement.
Méthodes de compactage et de réparation d’une base de données
Il existe plusieurs approches pour compacter et réparer une base de données. Une pratique courante consiste à compacter et réparer automatiquement une base de données à sa fermeture. De plus, vous pouvez exécuter manuellement la commande Compacter et réparer une 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 réparation, prenez les mesures 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 régulière, vous devez effectuer une sauvegarde immédiatement avant d’utiliser la commande Compacter et réparer une 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.
-
Obtenir l’autorisation de fichier suffisante sur la base de données Si vous n’avez pas les autorisations nécessaires et que vous devez compacter et réparer une base de données, contactez votre administrateur système pour obtenir de l’aide. Pour plus d’informations, voir Modifications apportées au 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.
-
Sélectionnez Fichier > Options.
-
Dans la boîte de dialogue Options Access, sélectionnez Base de données actuelle.
-
Sous Options de l’application, sélectionnez Compacter lors de la fermeture.
-
Sélectionnez OK.
-
Fermez et rouvrez la base de données pour que l’option prenne effet.
Compacter et réparer manuellement une base de données ouverte
-
Sélectionnez Fichier > d’informations > compacter & une 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 lorsque vous ne pouvez pas ouvrir directement une base de données Access.
-
Assurez-vous qu’aucun autre utilisateur n’utilise actuellement le fichier de base de données.
-
Démarrez Access.
-
Dans Access 2013, Access 2016 et Access 2019 :
-
Dans la page des modèles, double-cliquez sur Base de données vide.
-
Sélectionnez Fichier > Fermer.
-
-
Sélectionnez Outils de base > de données pour compacter et réparer des données.
-
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 quand Access vous y invite
Lorsque vous essayez d’ouvrir un fichier de base de données endommagé, si Access vous invite à 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 conserve une trace des 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 vue Feuille de données. Si vous avez une sauvegarde précédente avant que la base de données soit endommagée, 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 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 d’corruption résulte d’un problème avec un module Visual Basic pour Applications (VBA) et ne pose pas de 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.