Soubory databáze mohou při používání velmi rychle narůstat a někdy mohou dokonce snižovat výkon. Někdy se také mohou poškodit nebo zničit. Chcete-li těmto problémům zabránit, nebo je opravit, můžete použít příkaz Zkomprimovat a opravit databázi . Proces komprimace vaše data nezkomprimuje, ale zmenší soubor databáze tak, že omezí nepoužívané místo. Příkaz Zkomprimovat a opravit databázi může taky vylepšit výkon databáze.
Tip: Rozdělení databáze může pomoci zabránit poškození souborů databáze a omezit ztráty dat tím, že data uchováte v samostatném souboru, ke kterému nemají uživatelé přímý přístup.
Způsoby komprimace a opravy databáze
Existuje několik přístupů ke komprimaci a opravě databáze. Běžným postupem je automatická komprimace a oprava databáze při zavření. Příkaz Zkomprimovat a opravit databázi navíc můžete spustit ručně, pokud máte databázi otevřenou i na jiné.
Než začnete
Před zahájením komprimace a opravy proveďte následující akce:
- Vytvořte záložní kopii databáze Během procesu opravy může aplikace Access ořezat některá data z poškozených tabulek. Někdy je možné tato data obnovit ze zálohy. Kromě pravidelného zálohování byste měli vytvořit zálohu bezprostředně před použitím příkazu Zkomprimovat a opravit databázi . Další informace najdete v tématu Ochrana dat pomocí procesů zálohování a obnovení.
-
Získejte výhradní přístup k databázi Operace komprimace a opravy vyžaduje výhradní přístup k souboru databáze, protože by mohla omezit ostatní uživatele. Když budete chtít spustit operaci komprimace a opravy, měli byste na to upozornit ostatní uživatele, aby během tohoto období databázi nepoužívali. Další informace najdete v tématu Otevření existující databáze Accessu.
Dejte uživatelům vědět, jak dlouho nemají databázi používat. Pokud operaci komprimace a opravy provádíte pravidelně, sledujte, jak dlouho trvá. Dokážete pak přesněji odhadnout, jak dlouho by ostatní uživatelé databázi neměli používat. - Získání dostatečných oprávnění k souborům databáze Nemáte-li dostatečná oprávnění a potřebujete spustit komprimaci a opravu databáze, požádejte o pomoc správce systému. Další informace najdete v tématu Změny sdílení souborů přes síť ve Windows.
Automatické spuštění komprimace a opravy databáze při zavření
Pokud chcete automaticky spustit komprimaci a opravu databáze při jejím zavření, můžete vybrat možnost Komprimovat při zavření. Nastavení této možnosti má vliv jenom na databázi, která je aktuálně otevřená. Tuto možnost nastavte zvlášť pro každou databázi, u které chcete, aby se automaticky komprimovala a opravovala. V případě více uživatelů databáze nemusí být tato možnost vhodná, protože může způsobovat krátkodobou nedostupnost databáze.
- Vyberte Možnosti souboru>.
- V dialogovém okně Možnosti aplikace Access vyberte Aktuální databáze.
- V části Možnosti aplikace zaškrtněte políčko Komprimovat při zavření.
- Vyberte OK.
- Možnost se projeví až po zavření a novém otevření databáze.
Ruční komprimace a oprava otevřené databáze
- VyberteKompaktní informace>o souborech>& Opravit databázi.
Access vytvoří kopii komprimované a opravené databáze ve stejném umístění.
Ruční komprimace a oprava neotevřené databáze
Tento postup použijte, když nemůžete otevřít přímo accessovou databázi.
- Zkontrolujte, že soubor databáze aktuálně nepoužívají žádní další uživatelé.
- Spusťte aplikaci Access.
- Na stránce šablon poklikejte na Prázdná databáze.
- Vyberte Zavřít soubor>.
- Vyberte Databázové nástroje>– Zkomprimovat a opravit databázi.
- V dialogovém okně Zdrojová databáze pro komprimaci přejděte na databázi, pro kterou chcete spustit komprimaci a opravu, a poklikejte na ni.
Access vytvoří kopii komprimované a opravené databáze ve stejném umístění.
Komprimace a oprava poškozené databáze po zobrazení výzvy v aplikaci Access
Pokud vás aplikace Access při pokusu o otevření poškozeného souboru databáze vyzve ke komprimaci a opravě databáze, vyberte možnost Ano. Mohou nastat dvě věci:
- Když Access úplně opraví poškozený soubor, zobrazí zprávu s informacemi o tom, že oprava proběhla úspěšně a vy byste měli zkontrolovat obsah databáze a ujistit se, že je všechno tak, jak má být.
- Pokud je aplikace Access úspěšná jen částečně, vede záznamy o databázových objektech, které nemohla opravit, v systémové tabulce s názvem MSysCompactErrors. Access otevře tabulku MSysCompactErrors v zobrazení Datový list. Pokud máte zálohu databáze vytvořenou předtím, než došlo k jejímu poškození, můžete pomocí tabulky MSysCompactErrors určit, které objekty chcete importovat do opravené databáze. Chcete-li zobrazit systémové tabulky, klikněte pravým tlačítkem myši na záhlaví okna Navigace a poté v dialogovém okně Možnosti navigace vyberte Zobrazit systémové objekty.
Proč byste měli databázi komprimovat a opravovat
V tomto přehledu je vysvětleno, jak můžete pomocí příkazu Zkomprimovat a opravit databázi předejít problémům nebo jak opravit problémy, které mají někdy dopad na databázi: Jedná se o problémy se zvětšením souborů během používání a poškození souborů.
Růst souborů databáze během použití
Při přidávání a aktualizaci dat a změně návrhu se soubor databáze zvětšuje. Částečně mají růst na svědomí nová data a částečně další zdroje:
- Access při plnění různých úkolů vytváří dočasné skryté objekty. Ty někdy zůstanou v databázi, i když už je Access nepotřebuje.
- Při odstranění databázového objektu se místo na disku, které objekt zabírá, neuvolní automaticky – soubor databáze pořád používá toto místo na disku i po odstranění objektu.
S tím, jak soubor databáze postupně zaplňují zbytky dočasných a odstraněných objektů, se může jeho výkon snižovat. Objekty se můžou pomaleji otevírat, déle než obvykle se můžou provádět dotazy a obecně můžou déle trvat typické operace.
Může dojít k poškození souborů databází
Za určitých okolností může dojít k poškození souboru databáze. Pokud je soubor databáze sdílený v síti a pracuje s ním současně několik uživatelů, existuje u takového souboru menší riziko, že se poškodí. Riziko poškození je trochu větší, pokud uživatelé často upravují data v polích s dlouhým textem, a toto riziko se postupem času zvyšuje. Toto riziko můžete zmírnit, když použijete příkaz Zkomprimovat a opravit databázi.
Tento druh poškození je často důsledkem problému s modulem VBA (jazyk Visual Basic for Application) a nepředstavuje riziko ztráty dat. Při tomto typu poškození ale existuje riziko poškození návrhu databáze, jako je například ztráta kódu VBA nebo nemožnost použít formuláře.
Vzácně může dojít v důsledku poškození souboru databáze ke ztrátě dat. Tato ztráta se obvykle omezuje na poslední akci jednoho uživatele, tedy na jedinou změnu dat. Když začne uživatel měnit data a tato změna se přeruší – například kvůli přerušenému poskytování síťových služeb – označí Access soubor databáze jako poškozený. Soubor je možné opravit, ale některá data můžou po dokončení opravy chybět.