Ako na riešenie a opravy poškodených Access 2002 alebo neskoršej verzie databázy

Preklady článku Preklady článku
ID článku: 283849 - Zobraziť produkty, ktorých sa tento článok týka.
Začiatočník: Vyžaduje vedomosti o používateľského rozhrania na jedného používateľa počítače.

Tento článok sa uplatňuje iba na databázu programu Microsoft Access (.mdb a .accdb).

Microsoft Access 97 verziu tohto článku, pozri 279334.
Microsoft Access 2000 verziu tohto článku, pozri 209137.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

Existuje niekoľko vecí, ktorá sa môže prihodiť, vnútri a mimo programu Access, ktorý môže opustiť váš súbor databázy poškodené (poškodený). V príznaky poškodený databázy sa môže pohybovať od #Deleted nachádzajúce sa v určitých záznamy môžete schopná otvorte jeden z objektov v databáze, aby ste sa nepodarilo otvoriť súbor databázy v programe Access úplne. Kompaktný a Pomôcku v programe Microsoft Access je užitočný nástroj pre snaží optimalizovať alebo sa snaží opraviť súbory databázy programu Microsoft Access. Tento článok popisuje to Prístup nástroj a ponúka ďalšie alternatívy pre snaží opraviť poškodený databázy. Tento článok tiež poskytuje informácie o čo môže spôsobiť databáz na poškodené.

Poznámka: Microsoft Jet, databázový nástroj, ktorý sa používa v programe Microsoft Prístup, je súbor zdieľanie databázy systému. Keď sa používa Microsoft Jet Multi-User prostredia, viaceré klientske procesy sú pomocou súboru čítanie, zápis a a blokovania operácií na zdieľanej databázy. Pretože viaceré klientske procesy čítaní a zápise do tej istej databázy a pretože Jet nepoužíva protokol transakcií (ako robiť viac pokročilých databázové systémy, ako napríklad SQL Server) nie je možné spoľahlivo zabrániť všetky databázy korupcii. Ak ste potrebujú databázový systém spustiť 24 hodín denne, sedem dní v týždni v multi-user životné prostredie, spoločnosť Microsoft odporúča používať databázu pravda klient/server systém, ktorý podporuje trvanlivé transakcie, ako napríklad Microsoft SQL Server.

DALSIE INFORMACIE

Hoci kroky, ktoré sú uvedené v tomto článku sú zvyčajne úspešné na vymoženie poškodené súbory databázy, na ochranu vašej údajov, Microsoft odporúča Vytvorenie záložnej kópie súboru databázy tak často, ako môžete.

Opis kompaktný a Repair Utility

Zhutňovaním databázy

Keď zhutnení databázy, kompaktný proces bude vrátenie nevyužitých priestor v databáze, ktorá vytvorí objekt a záznam odstránené položky. Robí to vytvárania novej databázy určenia a kopírovanie každý objekt v starej databáze novej databázy. Ak chcete zhutniť databázy do pôvodný názov databázy namiesto na novú databázu, kompaktný proces vytvorí dočasnú databázu, vývozov všetky objekty z pôvodnej databázy do databázy dočasné odstráni pôvodnej databázy, a potom premenuje dočasný databázy na názov pôvodnej databáza.

Toto je zoznam akcií, kompaktný procesu vykonáva:
  • To nanovo usporadúva stránky tabuľky tak, že majú bydlisko v priľahlých databázy stránky. To zvyšuje výkon, pretože tabuľka je žiadne dlhšie fragmentované celej databázy.
  • To pri hľadaní nevyužité miesto, ktoré je vytvorené objekt a záznam odstránený text. Keď objektov alebo záznamy sa vypúšťajú z databázy, miesto sú obsadené označený ako dostupný pre nové prírastky do databázy. Veľkosť databázy však nikdy zmenší až po zhutnení databáza. Pre databázy, v ktorej objekty záznamov často dopĺňajú a, odstránené a aktualizovaná, by nezhutníte často.
  • Reset incrementing polia typu Automatické číslovanie tak, aby budúci hodnota pridelených viac ako najvyššia hodnota v zostávajúcich záznamy. Napríklad, ak boli zrušené všetky záznamy v databáze, po zhutnení databázy, hodnota v poli typu Automatické číslovanie bude 1 keď sa pridáva ďalší záznam. Ak najvyššiu zostatková hodnota typu Automatické číslovanie v Databáza je 50, po zhutnení databázy, hodnota v automatické číslovanie pole bude 51, ak sa pridáva ďalší záznam. Všimnite si, že je to pravda, aj keď záznamy obsahujúce hodnoty vyššie než 50 boli pridané predtým, ale boli odstránené pred na zhutňovaním.
  • Regeneruje tabuľky štatistiky, ktoré sú použité v Proces optimalizácie dotazu. Tieto štatistiky sa môže stať zastaraný časom. Týmto sa najčastejšie stretnete ak transakcie sú vrátená späť, alebo ak je databáza nie je správne uzavretá z dôvodu straty neočakávané napájania alebo preto, že počítač je vypnutý pred program, ktorý používa Microsoft Jet má zmena Ukončite úplne.
  • Označila všetkých dotazov tak, že bude rekompilovaný nabudúce, že dotaz je spustený. To je dôležité, pretože databáza štatistiky môžete zmeniť a predtým kompilovaný dotaz môže mať plán nepresné dotazu.
Opravuje sa databáza

Opravy sa snaží opraviť iba tabuľky, dotazy a indexy v databáze. Nepokúša sa opraviť poškodený formuláre, zostavy, makrá alebo moduly.

Čo sa ubezpečil, pred spustením zhutnenie a oprava Utility

Pred spustením nástroja zhutnenia a opravy v databáze, aby istí, nasledovné:
  • Uistite sa, že máte dostatok úložného priestoru na vaše pevný disk pre originál a spevnené verziách programu Access databáza. To znamená, že musíte mať dostatok miesta na voľné uloženie aspoň dvakrát veľkosť databázy programu Access na jednotke. Ak potrebujete uvoľniť priestor, odstráňte všetky nepotrebné súbory z jednotky alebo, ak je to možné, presunúť Databáza programu Access na jednotke, ktorá má viac voľného miesta.
  • Uistite sa, že máte otvorené/spustiť a výhradný prístup povolenia pre databázy programu Access. Ak ste vlastníkom databázy, presvedčte sa, či chcete nastaviť tieto povolenia. Ak nie ste vlastníkom databázy, obráťte sa na jeho vlastníkom nájsť out, ak môžete dostať tieto povolenia.
  • Uistite sa, že nemá žiadny používateľ databázy programu Access, otvoriť.
  • Uistite sa, že databáza programu Access nie je umiestnený na iba na čítanie siete zdieľať alebo má jeho atribút súboru nastaviť iba na čítanie.

Kroky pre snažia opravu poškodených databázy

Nasledovné kroky vysvetľujú Všeobecná metóda, ktoré môžete použiť na Skúste opraviť poškodený databázy:
  1. Vytvorte kópiu súboru poškodené databázy (.mdb/.accdb) tak, že budete mať zálohu.
  2. Odstráňte súbor.ldb/.laccdb, ak je prítomný. Zodpovedajúce.mdb/.accdb súbor musíte zatvoriť pred odstránením súboru.ldb/.laccdb.

    Súbor.ldb/.laccdb sa používa na určenie, ktoré záznamy sú zamknuté v zdieľanej databázy a kým. Ak databáza je otvorená pre zdieľané použitie,.ldb/.laccdb súbor je vytvorený s rovnakým názvom ako zodpovedajúce databázy (.mdb/.accdb). Napríklad, ak otvoríte databáze Northwind.mdb vzorky pre zdieľané použitie v priečinku C:\Msoffice\Access, súbor s názvom Northwind.ldb sa automaticky vytvorí v rovnakom priečinku. .Ldb súbor sa automaticky odstráni po posledný používateľ neukončí databázy s týchto dvoch výnimiek--ak posledný používateľ nemá odstrániť povolenia na priečinok obsahujúci súbor .mdb alebo keď databáza je poškodená. .Ldb súbor obsahuje zoznam používateľov, ktorí majú databázu otvorenú.
  3. Spustite pomôcku zhutnenia a opravy. Tak chcete urobiť, postupujte podľa týchto kroky:
    1. Ak databáza je otvorený, zatvorte ho.
    2. Na Nástroje ponuku, ukážte na Databáza utility, a potom kliknite na tlačidlo Zhutnenie a oprava Databáza.
    3. V Zhutniť databázu z dialógové okno, vyberte súbor, ktorý chcete zhutniť, a potom kliknite na tlačidlo Kompaktné.
    4. V Kompaktný databázu do dialógové okno, zadajte nový názov súboru a potom kliknite na tlačidlo Uložiť.

      Ak zhutnenia a opravy neuspeje, budete Hlásenie uvedie tak. To znamená, škoda je tak silné, že nemôže opraviť.
  4. Ak predchádzajúce kroky zlyhajú obnoviť vaše poškodené databáza, skúste vytvárania novej databázy a Import objektov, jeden po druhom, z staré databázy na nový. Potom znova vytvoriť vzťahy. Toto technika rieši problémy s poškodených systémových tabuliek v databáza.

    Poznámka: Stránkach prístupu k údajom nie je možné importovať s Sprievodcu importom. Namiesto toho otvoriť existujúce stránky prístupu k údajom v novej databáze. Vykonáte to tak, postupujte nasledovne:
    1. V okne databáze kliknite na tlačidlo Stránky podľa Objekty.
    2. Kliknite na položku Nové.
    3. V Nové stránky prístupu k údajom dialógové okno, kliknite na tlačidlo Existujúcej webovej stránky, a potom kliknite na tlačidlo ok.
    4. V Vyhľadajte webovú stránku okna, prejdite k umiestneniu prístup k údajom stránku.
  5. Ak je poškodenie v tabuľke, a predchádzajúcich krokov neobnovil tabuľky, skúste nasledujúce:
    1. V programe Microsoft Access, export tabuľky do ASCII súbor (súbor s oddeleným textom). Ďalšie informácie zobrazíte príslušnú tému „Export údajov alebo databázové objekty."v Pomocníkovi programu Microsoft Access.
    2. Odstrániť žiadne vzťahy priradené k tejto tabuľke a potom odstrániť tabuľku z databázy.
    3. Zhutniť databázu.
    4. Znova vytvoriť tabuľku a žiadne vzťahy mal.
    5. Textovom editore, preskúma súbor ASCII pre zlé alebo podivné údajov a odstrániť tie záznamy. Uložte súbor do textový súbor vo formáte ASCII formát.
    6. Opakované importovanie súbor ASCII do novo znova vytvoriť Tabuľka. Ďalšie informácie o tejto téme nájdete Pomocníkovi programu Microsoft Access Indexovať pre slovo "ohraničujú" a potom zobrazte tému "importovanie alebo prepojenie údajov a objekty."
    7. Re-enter záznamy, ktoré ste boli nútení zmazať.
  6. Ak škodu vo formulári alebo zostave, poškodenie môže byť buď vo forme alebo v samotnej správe alebo v jednej alebo viacerých ovládacích prvkov vo formulári alebo v zostave. Môžete odstraňovať formulára alebo zostavy a importovať zo zálohy kópia databázy alebo použite jednu z nasledujúcich možností:
    • Ak škoda na formulár alebo zostavu, sama, vytvoriť nové tvoria alebo správa a potom skopírujte ovládacie prvky z pôvodnej forme alebo správa.
    • Ak je poškodenie v ovládacom prvku vo formulári alebo správy, vytvoriť nový formulár alebo zostavu a potom znova vytvoriť ovládacie prvky nového formulára alebo zostavy. Najlepšie je znova vytvoriť všetky kontroly, pretože neexistuje žiadny spôsob, ako zistiť, ktorých kontroly sú poškodené.
  7. Ak škoda je makro alebo modul, poškodenie môže byť v makro alebo modul, sám alebo v obsahu makro alebo modul. Môžete odstrániť makro alebo modul a importovať zo zálohy kópia databázy alebo použite jednu z nasledujúcich možností:
    • Ak škoda je makro alebo modul, sama, vytvorenie nové makro alebo modul, a potom skopírujte obsah pôvodného makro alebo modul.
    • Škoda by mohli zahŕňať ne-ASCII znaky vložené v module. Modul uložiť ako textový súbor, odstráňte všetky zlé alebo zvláštne údaje, a potom reload textový súbor do nového modulu.
    • Ak je poškodenie v obsahu makro alebo modul, musíte vytvoriť nové makro alebo modul a potom znova vytvoriť obsah pôvodné makro alebo modul.
Ak databázu s tieto kroky, sa nedá opraviť Databáza je pravdepodobne poškodený opraviť. Ak ide o prípad, mali by ste obnoviť vaše poslednej zálohy databázy alebo znova vytvoriť databázu.

Ako konečným alternatívne, niektoré konzultantov môže poskytnúť databáze programu Microsoft Access opravy služby. Pretože to je také špecializovaných služieb, čo najefektívnejšie spôsob, ako nájsť konzultant je zverejnenie správy v programe Microsoft Access "tretie Strana a skupín užívateľov"internetovú diskusnú skupinu, ktorá má nasledujúce diskusnej skupiny adresa:
Microsoft.public.Access.3rdpartyusrgrp
Ďalšie informácie o programe Microsoft prístup na Internet Diskusné skupiny, prečítajte si nasledujúci článok v databáze Microsoft Knowledge Base: Ďalšie informácie získate po kliknutí na nasledujúce číslo článku databázy Microsoft Knowledge Base:
287756Pole typu Automatické číslovanie nevynulovali po zhutnení databázy

Prečo.mdb/.accdb môže poškodia

Existujú tri hlavné dôvody, prečo môže poškodený súbor.mdb/.accdb, takto:
  • Operáciu prerušené zápisu
  • Chybná sieťový hardvér
  • Otvorenie a uloženie.mdb/.accdb súboru v inom programe

Operáciu prerušené zápisu

Prístup by skončiť vždy správne kliknutím Výstupu alebo Zatvorte na Súbor ponuka. Ak databázu otvoriť a písanie údajov je prístup abnormálne vypnúť, Jet databázový nástroj označiť databázu ako podozrivý/poškodený. To môže nastať ak ste manuálne vypnúť počítač bez prvej ukončenie systému Windows alebo ak stratíte napájania. Iných situáciách sa môže vyskytnúť že nie vypnúť prístup, ale že môže stále rušiť Jet zápisu údajov na disk, keď je databáza otvorená. To môže nastať, napríklad, keď sietí skúsenosti údajov kolízií alebo pri poruche diskové jednotky. Ak ktorýkoľvek z týmto prerušenia vyskytnúť, Jet môže označiť databázu ako potenciálne poškodený.

Keď Jet začína operáciu zapisovania, nastaví príznak, a to potom vynuluje príznak, keď sa operácia dokončí. Ak operáciu zapisovania preruší, vlajkou zostáva nastavenie. Pri pokuse otvorte túto databázu znova, Jet určuje, že vlajky je nastavený a hlási, že databáza je poškodená. Vo väčšine prípadov údaje v databáze nie je skutočne poškodená, ale súbor Vlajka upozornenia Jet, že korupcia môže sa vyskytli. V prípadoch ako je tento, Zhutnením alebo oprava databázy (alebo oboje) môžete zvyčajne obnoviť databáza. Našťastie existujú spôsoby, ako určiť, ktoré používateľ a stanici bol zodpovedný za označenie súboru ako podozrivý. S Microsoft Visual Basic pre aplikácie v programe Access, môžete výstup zoznamu používateľov, ktorí sú prihlásení do určitej databáze.
208449 Diskusné skupiny programu Microsoft Access dostupné na internete
Ďalšie informácie o tomto postupe nájdete v téme "Ako zistiť, ktoré používatelia pracovné stanice sú príčinou súbor, ktorý chcete označiť podozrenie"ďalšej časti tohto článku.

Chybná sieťový hardvér

Niekedy môže vyskytnúť korupcie bez Jet databázový engine sa angažovať. Napríklad, chybná sieťový hardvér môže spôsobiť súboru poškodený. Príčinou môže byť jeden alebo viac odkazov v reťazci hardvéru medzi počítač, na ktorom je databáza umiestnená na a počítači, ktorý má databáza otvorená. Tento zoznam zahŕňa, ale nie je obmedzená na sieťové rozhranie karty, kabeláže siete, smerovače a rozbočovače.

Hardvérovú korupcia je obyčajne označený.mdb/.accdb súbory, ktoré nemôžu byť obnovené prostredníctvom uplatňovania zhutnením, oprave alebo Jetcomp. Hardvér korupcii bude zvyčajne opakovať, kým zodpovedný hardvér je opravené alebo vymenené.

Otvorenie a uloženie.mdb/.accdb súboru v inom programe

Neexistuje žiadny spôsob obnovenia súboru.mdb/.accdb, ktorý bol otvorí a následne uloží v inom programe. Napríklad mohol otvoriť a uloženie súboru.mdb/.accdb v programe Microsoft Word, ale ak ste boli tak urobiť,.mdb/.accdb súbor sa nikdy vymôcť, s výnimkou zo záložnej kópie. Ak ste náhodou otvoriť súbor.mdb/.accdb do inej aplikácie, nezabudnite nie ho uložiť. Naozaj slúži žiadny účel otvorte súbor.mdb/.accdb do inej aplikácie, pretože všetko môžete vidieť, ak budete robiť, je zdanlivo náhodné rad znakov.

Ako určiť, ktorý používatelia pracovné stanice sú príčinou spis za označené ako podozrivý

Pri riešení problémov na určenie, čo je príčinou databáza korupcie, budete možno musieť vidieť, kto je prihlásený databáza. S Microsoft Visual Basic for Applications v programe Access 2002 alebo Access 2003, môžete prístup k zoznam používateľov, ktorí sú prihlásení do určitej databáze.
Ďalšie informácie o tom, ako to urobiť, kliknite na nasledovné číslo článku databázy Microsoft Knowledge Base:
285822Ako zistiť, kto je prihlásený do databázy pomocou Microsoft Jet UserRoster v programe Access 2002 alebo v programe Access 2003

Kroky, ktoré môžete mať, aby sa zabránilo korupcii

Aby sa predišlo poškodeniu databázy:
  • Zabrániť strate napájania počas databázy píše. Stráca silu počas databázy píše môže spôsobiť databázy ponechať v stave podozrivého.
  • Vyhnite kvapkadlová sieťové pripojenia.
  • Sa zabránilo abnormálnej ukončenie Microsoft Jet pripojenia napríklad strata výkonu, manuálne vypnutie, majú Správca úloh vypnutia uplatňovanie, a tak ďalej.
  • Keď sa programovacích, zatvorte všetky objekty DAO a ADO že máte otvorený. Príklady zahŕňajú Množina záznamov, QueryDef, TableDef, a Databáza objekty.
  • Smrteľné systémové chyby takmer vždy spôsobiť abnormálny ukončenie. Ak databáza je náchylný k fatálnym chybám, ste mali vyriešiť chyby pred databázy príliš poškodí otvoriť alebo obnoviť.Ďalšie informácie o tom, ako to urobiť, a vzorky kód, ktorý môžete použiť, kliknite na nasledovné číslo článku databázy Microsoft Knowledge Base:
    285822Ako určiť, kto je prihlásený na databázu pomocou Microsoft Jet UserRoster v Program Access 2002
    Ďalšie informácie o smrteľné systémové chyby, po kliknutí na nasledovné číslo článku databázy Microsoft Knowledge Base:
    294301ACC2002: Riešenie problémov s smrteľné systémové chyby v pohotovostnom Access 2002 v systéme Microsoft Windows 2000
  • Zhutniť databázu často.
  • Nespúšťajte IPX na Microsoft Windows NT Server, kde Jet databázy sú umiestnené v sieti a klient je systém Microsoft Windows 95 s IPX/SPX. Namiesto toho spustite TCP IP na Windows NT Server a duálny protokol zásobník protokolu IPX a TCP IP Win95 klienta. (Windows NT na Windows NT s IPX/SPX nespôsobí problém, ani bude Novell akékoľvek klientovi.)
  • Vyhnúť sa veľkým počtom otvorených a zatvorených operácií v slučky (viac ako 40.000 následných otvoriť a zavrieť operácií by mohli spôsobiť korupcii).

Osobitná poznámka na konvertovaných databáz

V verzie programu Access staršie ako Access 2002, ak boli chyby, kým ste boli konverziu databázy na aktuálnu verziu, tam bol žiadny jednoduchý spôsob, ako určiť, ktoré objekty boli ovplyvnené a prípadne obsiahnuté znateľný korupcii.

Keď narazí Microsoft Access 2002 alebo novšia chyby pri konverzii súbor programu Access, môžete zobraziť súhrn týchto chýb otvorením tabuľky konverzie chyby v súbore nový prístup. Konverzia Chyby tabuľka obsahuje nasledovné stĺpce:

Typ objektu. Typ objektu databázy, v ktorej prístup sa vyskytla chyba, alebo "Databázy" Ak prístup zistil chybu, ktoré nie sú špecifické pre konkrétny typ objektu.

Názov objektu. Názov objektu, v ktorej prístup sa vyskytla chyba. Ak Prístup vyskytne chyba pri kompilácii počas konverzie, však názov modul, ktorý obsahuje chybu nie je špecifikovaná.

Popis chyby: Ak je to potrebné, stlačením klávesov SHIFT + F2 na zobrazenie celého popis chyby.

ODKAZY

Ďalšie informácie o opravovaní databáz, kliknite na tlačidlo Pomocník programu Microsoft Access naPomocník ponuka, typu oprava v Asistentovi programu Office alebo Sprievodcu odpoveďami a potom kliknite na tlačidlo Vyhľadávanie Ak chcete zobraziť tému.Ďalšie informácie o riešení problémov s databázami v starších verziách prístupu, kliknite na nasledovné číslo článku, čím zobrazíte články v Microsoft Knowledge Base:
209137Ako na riešenie a opravy poškodených databázy Jet 4.0
279334 Postupy opravu poškodených databázy Jet 3.5
109953 Postupy riešenie problémov s opravy poškodených Jet 3.0 a predchádzajúceho databáz
284152 Postupy riešenie problémov s smrteľné systémové chyby v programe Access 2002 bežiace na Windows Millennium

Vlastnosti

ID článku: 283849 - Posledná kontrola: 24. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Access 2002 Standard Edition
  • Microsoft Office Access 2003
  • Microsoft Office Access 2007
  • Microsoft Access 2010
Kľúčové slová: 
kbcorrupt kbtshoot kbhowto kbmt KB283849 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:283849

Odošlite odozvu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com