Access Sauvetage

Ce que vous pouvez déjà essayer par vous-même ...

 

Home
Ce que vous pouvez faire
Déroulement de sauvetage
Prix
Contact
 
Links
Conditions générales d'exploitation

  

Ce que vous pouvez faire

Il existe certaines techniques de récupération de base de données que vous pouvez appliquer. Malheureusement, il arrive qu' aucune méthode classique ne foncionne. Dans le cas nos services pourront vous être utiles.

1ère étape:

Lisez attentivement les informations de bases jusqu' à la fin de façon à obtenier une idée de ce qui se passe pendant le procédé de compression et de réparation de la base de données.

2ème étape:

Faites une copie de la base de données endommagée. Sauvegardez aussi un fichier *.ldb s'il existe.

Attention!

La destruction d'une base de données Access est rarement due á un disque dur défectueux. Si vous n'avez pas de copie de sécurité des données de la veille en bon état, et si la question des coûts de remise en état éventuelle du disque dur entre en compte en raison de l'importance des données, alors, il est fortement conseillé de copier le fichier endommagé sur un autre support pour poursuivre la réparation sure un autre ordinateur.

Pourquoi?

Dans le cas où le fichier est endommagé parce que des secteurs ont été assignés de manière incorrecte sur le disque dur, alors les opérations de copie postérieures risquent de couvrir des espaces du disque qui contiennent encore des données de votre fichier de base de données. C'est pourquoi il est préferable d'abandonner toute action sur cet ordinateur, aussi bien L'utilisation d'autres programmes. C'est  en observant le fichier lui-même que l'on peut voir s’il est endommagé de façon « normale » ou si la cause est une attribution défectueuse des secteurs.

Cas « normal »:
Vous avez une copie de sauvegarde de la veille en bon état ou les données ne justifient pas  une réparation coûteuse au disque dur (ce que nous n'offrons pas): Dans ce case vous pouvez prendre le risque d'insérer la copie de sauvegarde sur le disque dur et essayer de réparer les fichiers détruits sur ce disque. 

3 ème étape:

Regarder dans la liste des dégâts typiques si la description des symptômes que vous avez constatés s'y trouve. Dans l'affirmative, la colonne « solutions » vous aidera probablement à récupérer vos données. Si vous ne trouvez aucune description des symptômes que vous avez constatés, nous vous serions très reconnaissants de nous les envoyer afin de compléter er d'améliorer ce site.

4 ème étape:

Eliminez les causes des dégâts. La rubrique cherche de causes vous aidera dans cette opération.

 

Informations de bases

Avant de commencer toute opération de sauvetage, faites toujours une copie de sécurité! Vous pourrez vous en servir dans le cas où nous devrions effectuer une intervention de réparation. Faites aussi une copie du fichier *.ldb. Normalement, ce fichier est supprimé automatiquement (à partir de la version 95 d'Access) par Access lorsque l’utilisateur quitte la base de données. Cependant, si la base de données n'a pas été fermée correctement, il arrive que ce fichier continue d'exister. Il contient des informations importantes pour déterminer quel poste de travail a contribué à la perte des données.

Les outils de compression et de réparation d’Access

Access (jusqu’à la version 97 incluse) possède deux points de menu séparés pour réparer et comprimer des bases de données. Si vous avez mis l’Update pour A97 sur la Jet-Engine 3.51, pendant le processus de compression une réparation est commencé (KB Q182867). Avec cette version récente vous pouvez également réparer les versions d'Access précédentes (1.0 à A95).

Sur les pages support de Microsoft vous trouverez également un outil nommé JetComp.exe qui ne nécessite pas l'ouverture de la base de données pour sa remise en état. Il peut ainsi corriger quelques erreurs qui ne peuvent pas être corrigées à partir de la routine de compression accessible du menu. Il n'est pas non plus dépendant des index du tables du système MSysObjects, de sorte qu'il peut réparer la base de données même lorsque le malfontionnement est dû à ces index. Cet outil peut également être utilisé pour les bases de données de JetEngine 3.X et 4.X (donc à partir de A95, mais pas pour Access 2.0 et 1.X).

Que se passe-t-il pendant la réparation ?

Les routines de réparation insérées dans Access réparent seulement des tables, des requêtes et des index (Knowledge base Q209137). Les formulaires, les rapports, les macros et les modules ne sont pas réparées.

Que se passe-t-il pendant la compression?

  1. Les tables sont réorganisées, de façon à se trouver sur une seule partie de la mémoire. Leur accès en ainsi est accéléré.

  2. L’espace mémoire des objets supprimés est effectivement vidé. 

  3. Les champs montant d’auto valeur sont mis en arrière. La prochaine auto valeur se trouvera une valeur sur la plus grande valeur encore existante dans le table.

  4. Les données statistiques du table sont déterminées de nouveau pour en vue d'optimiser les requêtes.

  5. Toutes les requêtes sont stockées afin d'être exécutées de nouveau lors des utilisations suivantes. Lors de l'exécution de la requête Access dépouille les statistiques de nouveau.

Note: Un fichier temporaire (de type db1.mdb, db2.mdb, etc.) est généré lors de la compression. Le fichier d'origine ne sera détruit et le fichier temporaire renommé que lorsque le procédé de compression aura réussi. Sous Windows NT, cela a pour conséquence que le nouveau fichier bénéficie des autorisations d’index du fichier d'origine. Ainsi, dans le cas où l'accès au fichier original nécessite d'autres droits d'utilisation, ceux-ci risquent d'être modifiés lors de la compression!
Note: Nous avons pu souvent constater que quelques dommages ne disparaissaient qu'après les processus de réparation ET de compression (ceci n'est valable que pour les versions antérieures à Access 97 SR1).
Note: Tant qu'une base de données n'a pas été comprimée, il nous est possible de récupérer une une partie des séries de données ou les tables supprimés de cette base.
Note: Quand une tentative de compression ou de réparation échoue, vous pouvez éventuellement trouver une partie des tables dans le fichier temporaire (puisqu'il n'a pas été supprimé).

 

Existe-t-il d'autres moyens d'action lorsqu'une réparation ou une compression sont sans effet?

- Les méthodes suivantes peuvent éventuellement vous permettre de récupérer quelques données des tables en mémoire:

  • Créez une nouvelle base de données et accédez à la base de données endommagée grâce aux procédures d*import.
  • Créez une nouvelle base de données et accédez aux tables grâce à la programmation Access (DAO). Utilisez pour cela des méthodes OpenDatabase et OpenRecordset.
  • Etablissez une connexion ODBC à la base de données défectueuse.

Ces méthodes réussissent lorsque les dommages à la base de données mettent en cause les « objects » responsables de la représentation des tables et des contenus de la base de données, et tant que les tables elles-mêmes ne sont pas endommagés. Parfois Access stoppe le processus d'import d'une table déterminée. Dans ce cas, il peut être utile d'importer les tablesune à une à l'exception de la table endommagé.
- Lorsqu'un module VBA d'un formulaire ou d'un état est défectueux, vous pouvez au moins sauver les éléments de commande et la maquette (Layout) de cet objet. Pour les sauver, vous devez placez la propriété « contient module » (has module) sur false et mémoriser l'objet. Pendant ce processus vous allez perdre le module assigné à l'objet.
- Vous pouvez essayer d’ouvrir et de réparer la base de données grâce à une version plus récente d'Access.

 

Que provoque le commutateur de ligne « /decompile » ?

Ceci est un commande non documentée. À l'aide de ce commutateur, les objets de la base de données sont recompilés. Ceci peut aider dans le cas où le P-code généré est défectueux mais les textes sources sont toujours en état. Cette action n'a aucune effet sur les tables défectueuses mais seulement sur les formulaires, les états et les modules.

Utilisez cette possibilité avec précaution et testez votre base de données avec soin!!  

Comment se produisent les dégâts aux fichiers de base de données?

Des dégâts se produisent sous l'effet de:

  • des dérangements dans le réseau (même très courts!), souvent causés par des cartes réseaux défectueuses,
  • des pannes de courant
  • sous Windows NT et Windows 2000, l'opportunistic locking semble préparer bien des probèmes
  • des mauvaises utilisations (l'utilisateur éteint tout simplement l’ordinateur ou bien le programme est bloqué.)
  • le fichier a été ouvert et stocké avec un autre programme qu’ Access.
  • des bugs d'Access

Comment peut-t-on éviter des dégâts ?

Les dégâts ne peuvent pas être toujours évités c’est pourquoi la mesure la plus importante est de faire régulièrement des copies de sécurité. Il est important d’avoir des copies de sécuriré de plusieurs générations parce dans le cas où les erreurs ne sont découvertes depuis quelques jours.

Il est conseille de placer les versions les plus récentes « Service Packs »  (a télécharger a partir du site Internet de Microsoft)

Consulter aussi a ce propos l'article de Microsoft: How to Minimize Database Corruption When Using Microsoft Jet 4.0.

 

Utilisation d’Access dans l'entreprise

Si vous utilisez Access dans le cadre d'opérations critiques pour l'enterprise, considérez le point suivant:

Vous devez être capables de construire les opérations d’affaire qui se sont déroules entre la dernière copie de sauvegarde et le moment d'interruption du fonctionnement de la base.

Un exemple: aujourd'hui votre base de données est tombée en panne a 13 heures vous avez une copie de sauvegarde d'hier à 18 heures. Depuis ce martin 8 heures vos collaborateurs ont effectue deci delà des modifications et des enregistrements dans votre base de données.

Pour pouvez bien mettre en service la sauvegarde de la veille, vous devez aussi refaire toutes les modifications et enregistrements de ce matin!

Selon notre expérience vous ne pouvez résoudre ce problème à l’avance qu’avec les deux méthodes suivantes:

 

Dégâts typiques

Puisque notre collection a augmenté beaucoup entre-temps, nous l'avons organise ainsi:

- erreurs lors de l'ouverture de la base de donnés

- erreurs lors de l'accès à un tableau

- suppression par erreur

- autre

 

erreurs pendant l'overture de la base de donnés

 

Symptôme Version Solution autres Info
Lors de l'ouverture le message d'erreur suivant apparaît : « format de base de données non reconnaissable: < nom de base de données > », numéro d'erreur 3343. Access annonce que la réparation n’a pas pu être faite avec succès. toutes En générale, une réparation par l'utilisateur n’est plus possible. Essayer toutefois la réparation avec le JetComp.exe (à partir de A95). La version 4.0 est meilleure que la version 1.0.
Si cela n'aide pas du tout, en général, notre service de sauvetage de données peut encore sauver le fichier.
Knowledge Base Q182867
Pendant la réparation de la base de données le message d'erreur suivant apparaît: » >Base de données n’est pas un index dans ce table », numéro d'erreur 3015.
Ce message d’erreur apparaît aussi quand une base de données d’ACCESS 95 a été converti dans le format ACCESS 97.
A97 Un index de la table de système MsysObjects a été détruit. Comprimer la base de données avec l’outil stand-alone Utility JetComp.exe ou faites une nouvelle base de données vide et importez tous les objets dans celle-ci. Pour éviter cette erreur à l’avenir, vous avez besoin de la version Jet sur 3.51. Knowledge Base Q158933 et Q182867
Pendant la réparation de la base de données, le message d'erreur suivant apparaît: « Le AOIndex n'est pas un index dans cette table » A2000 et A2002 Un index de table du système est endommagé. Parfois JetComp.exe peut aider. Propres études
Le dialogue pour le mot de passe de base de données apparaît, bien qu'aucun mot de passe n'ait été enregistré. Peu importe, ce que vous suggérez, une ouverture de la base de données n'est pas possible. Réparer et comprimer n'apportent pas d'amélioration. toutes La base de données a été ouverte et stockée éventuellement avec un autre programme (p. ex. Word). Dans ce cas-là, la base de données est définitivement détruite. Une réparation n’est pas possible. Mais ce symptôme apparaît aussi quand seulement le commencement de la base de données est endommagé. Dans ce deuxième cas, nous pouvons la réparer. Knowledge Base Q243895
Lors de l'ouverture de la base de données ou lors de l'ouverture de modules endommagés, vous recevez le message d'erreur suivant: «Erreur inattendue 35012» A2000 Un ou plusieurs objets (principalement formulaires ou modules) de la base de données ont été endommagés. Créez une base de données vide et importez tous les objets dans cette base de données. Knowledge Base
Q277924
Vous essayez d'ouvrier une base données . Aucune message d'erreur n'apparaît, mais pas de votre base dommées non plus. 
A condition que cela ne soit pas du à votre propre protection, cela peut indiquer des dégâts.
toutes Essayez d’abord les méthodes habituelles (Jetcomp.exe, l‘import dans une nouvelle base de données). Essayez d'accéder aux fichier défectueux à partir d'un nouveau fichier de base de données par VBA (méthode Opendatabase et OpenRecordset). Propres études
Lors de l'overture d'un fichier MDB vous recevez le message d'erreur qu'on a essaye de s'introduire dans vorte système général de protection (GPF, General Protection Fault). Access se ferme immediatement. toutes If Access crashes while opening any mdb file it's an Access installation issue and not a damaged mdb file. If Access crashes only with this special mdb file try to repair it using JetComp.exe, try to import the tables to a new database, or try the decompile command described above. If nothing helps: we can usually repair such files. Propres études

 

 

Erreurs lors de l'overture d'une table

 

Symptôme Version Solution autres Info
Quand vous essayez d’ouvrir un tableau le message d'erreur suivant apparaît: «cet objet nécessite une récente Jet version du module de base de données de Microsoft» A2000 et d’autres? Informations de structure des tables est défectueuse. En général, la propre réparation d’Access ne fonctionne pas. Profitez donc de notre service de sauvetage! Propres études
Une table ne peut plus être ouverte dans Access (il manquent les propriétés du table) toutes Faites une copie de sécurité. Regardez si le tableau se fait encore aborder par Dao.Openrecordset.. JetComp Readme-File

Le message d'erreur : « Pas de signe de lecture admis » apparaît pendant l'accès VBA à des tables. Quand on regarde les tables, quelques champs/lignes ont la valeur « #erreur », et ce message d’erreur apparaît également plusieurs fois.

toutes

En général, ce message d'erreur indique des séries de données endommagées. La cause peut être p. ex. un réseau avec beaucoup d’erreurs. Attention! Ne travaillez plus sur le réseau, parce que la base de données est éventuellement en grand danger ou déjà endommagée! Copier les séries de données « saines » dans une nouvelle table et évitez d'avoir accès aux séries de données endommagées.

Propres études

Pendant le travail avec ACCESS vous recevez le message d'erreur suivant: « Le module Microsoft Jet a arrêté le processus, puisque vous et un autre utilisateur essayez en même temps de modifier les mêmes données », numéro d'erreur 3197.
Ou bien vous voyez dans quelques champs : « #erreur » et pendant l’accès à eux vous recevez le message d'erreur :
« Argument non valable ». Après la réparation, « ################ » est écrit dans ces champs.

toutes La cause : Un pointeur stocké sur une page LV est endommagé. Faites une copie de sécurité. Réparez et comprimer . Si cela n'aide pas, copiez tous les objets dans une nouvelle base de données. 

Note: Avec cette procédure vous allez sûrement perdre le contenu des champs de OLE ou de mémoire endommagés.
Knowledge Base Q182867
Après la réparation un champ d’auto indexé n’est plus qu’un champ long int normal. toutes (?) Access semble éliminer la qualité d’auto-indexation d'un champ quand il y a des problèmes de données dans ce champ pendant la réparation. Regardez si vos données ont des doubles dans ce champ et réglez les données. La reconstitution de la qualité de valeur du champ n’est pas si facile que ça. Surtout quand l’intégrité référentielle est ajusté sur ce champ, vous devez faire attention.  
Après la réparation et la comprimation il y a tout d’un coup des valeurs d'index doubles. A97, A2000 et A2002 A2000: Update sur Jet 4.0 SP 5 Knowledge Base Q257408 (A2000)
et Q291162 (A2002)

 

 

Suppression par erreur

 

Symptôme Version Solution autres Info

Vous avez supprimé un tableau par erreur, mais vous n’avez pas encore fait d'autres actions dans la base de données qui est toujours ouverte.

toutes Utilisez l'ordre « rétrograde » (Strg-Z) Aide d’Access online
Vous avez supprimé par erreur un tableau, la base de données est toujours ouverte, mais vous avez déjà fait une autre action. toutes

Faites comme dans les articles de Knowledge Base à la droite. Si vous avez déjà fermé la base de données, notre service de sauvetage de données peut encore vous aider.

Knowledge Base

(A2000):   Q209874
sinon:
Q179161

Vous avez supprimé par erreur un grand nombre de séries de données d'un tableau. La base de données n'a pas encore été comprimée. toutes ACCESS ne marque pas des séries de données simplement comme supprimes, mais il les inscrit dans une unité de mémoire de 4 kByte (2 kByte avant Access 2000) avec la série de données précedente. C'est pourquoi nous pouvons seulement sauver un pourcentage des séries de données supprimées. Quand les séries de données sont très petites, ce pourcentage est également très petit. Quand les séries de données sont si grandes qu’ACCESS devait les mettre respectivement dans une propre unité de mémoire, nous pouvons reconstituer approximativement toutes les séries de données. Propres études
Pendant l’import ou autre, vous avez écrasé par erreur une table existante (cela ne concerne pas des séries de données particulières, mais la table elle-même). toutes

Notre service de sauvetage de données peut vous aider.

Propres études
Vous avez supprimé par erreur un champ de table dans le projet d’une table, mais vous n'avez pas encore fait d'autre action. toutes

Notre service de sauvetage de données peut vous aider.

Propres études




Autres

 

Symptôme Version Solution autre Infos
Pannes fréquents avec Win2000 ou Windows NT 4.0 A2000 + A97 
probablement aussi A2002
Dans quelques cas il semble aider d’éteindre "opportunistic Locking » , voire l'article à la droite Knowledge Base Q300216

Vous devriez porter une attention particuliére à ces symptômes qui indiquent un fichier endommagé qui est pour l’instant irréparable:

  • Vous ne pouvez plus supprimer de table, bien que vous en ayez l’autorisation.
  • Des noms de table apparaissent en double dans la base de données.
  • Des table apparaissent qui ont des utilisateur < non connu > ou bien Engine.
toutes Faites une copie de sécurité. Réparez la base de données. Créez une nouvelle base de données vide et importez tous les objets dans cette base de données.

Avec A97 vous devez en plus appliquer la version de Jet sur 3.51 pour empêcher que les erreurs apparaissent à nouveau (une meilleure routine de compression)
Knowledge Base Q158933
Les grandes requêtes ou les opérations sur des champs de mémoire ou de OLE fonctionnent très lentement. La version de Jet 3.0 plante lors d'une utilisation avec le serveur d'information Internet. A95, A97 seulement sous NT 4.0 Mettez l’Update de la version de Jet sur 3.51. Knowledge Base Q143163
Pendant l'ouverture de la base de données ou pendant l'ouverture des modules endommagés vous recevez le message d'erreur suivant: « erreurs inattendues 35012 ». A2000 Un ou plusieurs objets (en général des formulaires ou modules) de la base de données sont endommagés. Faites une base de données vide et importez tous les objets dans cette base de données. Knowledge Base
Q277924
Lors de l'overture ou de la compilation d'un module, le message d'erreur suivant apparaît:« error lors de l'overture du fichier: liaison reseau vraisemblablemement interrompue » ("Error accessing file. Network Connection may have been lost")
A2000 Ce message d'erreur apparaît lorsque, à cote d'Access 2000 , vous avez aussi installé une version déterminée de Vbe6.dll et que vous avez importé des modules ou des formulaires avec module ou bien que vous avez copié des données dans la base de données et vous avez fermé la base sans compiler le module. Knowledge Base Q304548
Vous recevez des messages non spécifiques qui indiquent un module endommagé (et/ou un P-code endommagé). toutes

Essayez le commutateurs de ligne/Decompile. Faites absolument une copie de sécurité avant. Testez ensuite la copie de sécurité avec soin!

 
Le fichier de base de données se gonfle beaucoup, environ au double ou triple. A2000 Dans certaines circonstances, ACCESS occupe une page complète de 4 kByte par série de données. Ce comportement anormal disparaît après la réparation. Note: Il y a encore d'autres raisons pourquoi une base de données peut se gonfler. Propres études
Le fichier de base de données se gonfle de plus en plus lors de chaque opération d’Access jusqu’à ce que l’espace du disque dur ne suffise plus. Ensuite Access coupe l'action avec un message d'erreur. Le fichier de base de données est finalement plus grande qu’Access ne peut l’administrer en réalité, donc jusqu’à la version 97 plus grande qu’1 GB et à partir de la version d’ACCESS 2000 plus grande que 2 GB. toutes La cause est encore inconnue. Pendant la description d’un fichier, ACCESS semble se perdre dans un circuit fermé, ce qui est peut-être dû à des erreurs dans les structures de gestion. La réparation est possible. Propres études

 

Recherche de causes

Les causes sont parfois évidentes, p. ex. un plantage d'ordinateur ou une base de données qui a été ouverte et stockée par erreur avec Word ou un autre programme. C’est pourquoi vous devriez d’abord interroger les utilisateurs actuels de la base de données pour notrer les caractères marquants.

Dans tous les autres cas, vous devriez d'abord limiter tous les postes de travail qui ont pu participer au plantage. Il y a un outil de Microsoft pour toutes les versions jusqu’à 97 qui s’appelle LDBView.exe. Avec cet outil vous pouvez constater quels postes de travail ont laissé la base de données dans un état "douteux". Cela ne concerne pas des opérations d'écriture achevées. La condition absolue est toutefois que le fichier *.ldb existe encore dans l'état des dégâts frais! C'est pourquoi, en cas de dégâts, vous devez créer premièrement une copie du fichier LDB et MDB. Une mesure (prévoyante) comparable serait de prendre par écrit l’enregistrement et l'abandon de la base de données dans un fichier pour chaque utilisateur.

Si vous n'avancez pas de cette manière, vous pouvez analyser votre réseau avec un/e networksniffer (des fois disponible gratuitement à l’Internet, exige de bonnes connaissances), ou bien un Analyser Hardware du réseau (coûte > 2500 EUROS, encore plus compliqué).

Si aucun networksniffer n'est disponible, essayez la méthode suivante (elle est simple !): Copiez plusieurs fois (> 10 fois) un fichier aussi grand que possible (> 50MB) avec l’Explorer de chaque poste de travail par le réseau . Si un message d'erreur qui indique des problèmes de réseau ou de disque dur (pas le message : » disque dur est plein », bien sûr), vous avez probablement trouvé un poste de travail avec le matériel/la hardware défectuaux. Nous avons déjà constaté plusieurs fois que les cartes de réseau défectueuses (aussi du type de grande qualité!) en étaient la cause.

Si vous vous croyez capable de placer un ordre DOS dans la boîte DOS, vous avez encore la possibilité de tester la disponibilité d'autres ordinateurs dans le réseau avec l'ordre Ping. Mais un seul Ping fonctionnant ne signifie pas que le réseau est tout à fait en ordre. Avec un peu de chance vous pouvez toutefois trouver des erreurs apparaissant sporadiquement dans le réseau avec un Ping permanent. Faites l’instruction : 

Ping –t 192.168.1.15 > c:\ping.txt

Cela fait que le programme Ping envoie des emballages à l'ordinateur sans cesse avec l'adresse 192.168.1.15. En même temps il détourne les dépenses du programme dans le fichier c:\ping.txt. Vous pouvez commencer Ping le soir et l’interrompre le matin avec Strg-C. Ensuite vous analysez si le fichier contient des messages d’erreur. Bien sûr, vous devez adapter l'adresse de l'ordinateur aux circonstances.