Rozmiary plików baz danych mogą szybko rosnąć podczas ich używania. Czasami pogarsza to wydajność. Zdarza się też, że ulegają uszkodzeniu. Przy użyciu polecenia Kompaktuj i napraw bazę danych można zapobiec tym problemom lub je rozwiązać. Proces kompaktowania danych nie powoduje ich kompresowania — polega on na zmniejszeniu rozmiaru pliku bazy danych przez wyeliminowanie nieużywanego miejsca. Polecenie Kompaktuj i napraw bazę danych może również poprawić wydajność bazy danych.
Porada: Rozdzielenie bazy danych może zapobiec uszkodzeniu plików bazy danych i ograniczyć utratę danych dzięki ich przechowywaniu w oddzielnych plikach, z których użytkownicy nie korzystają bezpośrednio.
Sposoby kompaktowania i naprawiania bazy danych
Istnieje kilka metod kompaktowania i naprawiania bazy danych. Typowym rozwiązaniem jest automatyczne kompaktowanie i naprawianie bazy danych podczas jej zamykania. Ponadto polecenie Kompaktuj i napraw bazę danych można uruchamiać ręcznie zarówno dla otwartej, jak i nieotwartej bazy danych.
Przed rozpoczęciem
Przed rozpoczęciem operacji kompaktowania i naprawiania należy wykonać następujące czynności:
- Wykonywanie kopii zapasowej bazy danych Podczas procesu naprawy program Access może obciąć niektóre dane z uszkodzonych tabel. Czasami można odzyskać te dane z kopii zapasowej. Poza stosowaniem strategii regularnego wykonywania kopii zapasowych należy wykonać kopię zapasową bezpośrednio przed użyciem polecenia Kompaktuj i napraw bazę danych . Aby uzyskać więcej informacji, zobacz Ochrona danych za pomocą procesów wykonywania i przywracania kopii zapasowych.
-
Uzyskaj wyłączny dostęp do bazy danych Operacja kompaktowania i naprawiania wymaga wyłącznego dostępu do pliku bazy danych, ponieważ może ona przerwać pracę innym użytkownikom. Należy powiadomić innych użytkowników o zamiarze wykonania operacji kompaktowania i naprawiania, aby powstrzymali się od używania bazy danych w jej trakcie. Aby uzyskać więcej informacji, zobacz Otwieranie istniejącej bazy danych programu Access.
Poinformuj użytkowników, jak długo powinni powstrzymać się od używania bazy danych. Jeśli regularnie wykonujesz operacje kompaktowania i naprawiania, zapisuj, jak długo trwają. Umożliwi Ci to dokładniejsze oszacowanie czasu, przez jaki inni użytkownicy powinni powstrzymać się od używania bazy danych. - Uzyskiwanie wystarczających uprawnień pliku do bazy danych Jeśli nie ma wystarczających uprawnień, a musi przeprowadzić kompaktowanie i naprawianie bazy danych, powinien skontaktować się z administratorem systemu w celu uzyskania pomocy. Aby uzyskać więcej informacji, zobacz Zmiany w udostępnianiu plików w sieci w systemie Windows.
Automatyczne kompaktowanie i naprawianie podczas zamykania bazy danych
Jeśli chcesz automatycznie kompaktować i naprawiać bazę danych podczas jej zamykania, możesz wybrać opcję bazy danych Kompaktuj przy zamknięciu. Ustawienie tej opcji wpływa tylko na obecnie otwartą bazę danych. Ustaw tę opcję osobno dla każdej bazy danych, którą chcesz automatycznie kompaktować i naprawiać. W przypadku baz danych, z których korzysta wielu użytkowników, ustawienie tej opcji nie jest zalecane, ponieważ może ona tymczasowo przerywać dostępność bazy danych.
- Wybierzpozycję Opcjepliku>.
- W oknie dialogowym Opcje programu Access wybierz pozycję Bieżąca baza danych.
- W obszarze Opcje aplikacji zaznacz pole wyboru Kompaktuj przy zamknięciu.
- Wybierz przycisk OK.
- Zamknij i ponownie otwórz bazę danych, aby nowa opcja została zastosowana.
Ręczne kompaktowanie i naprawianie otwartej bazy danych
- Wybierzpozycję Informacje o>pliku>Kompaktuj & Napraw bazę danych.
Program Access utworzy kopię skompaktowanej i naprawionej bazy danych w tej samej lokalizacji.
Ręczne kompaktowanie i naprawianie nieotwartej bazy danych
Zastosuj tę procedurę, jeśli nie możesz bezpośrednio otworzyć bazy danych programu Access.
- Upewnij się, że żaden inny użytkownik nie korzysta obecnie z pliku bazy danych.
- Uruchom program Access.
- Na stronie szablonów kliknij dwukrotnie pozycję Pusta baza danych.
- Wybierz pozycjęZamknijplik>.
- Wybierz pozycjęKompaktuj i napraw bazę danych w obszarze Narzędzia> bazy danych.
- W oknie dialogowym Źródłowa baza danych do kompaktowania przejdź do bazy danych, którą chcesz skompaktować i naprawić, a następnie kliknij ją dwukrotnie.
Program Access utworzy kopię skompaktowanej i naprawionej bazy danych w tej samej lokalizacji.
Kompaktowanie i naprawianie uszkodzonej bazy danych po wyświetleniu monitu w programie Access
Jeśli podczas próby otwarcia uszkodzonego pliku bazy danych program Access wyświetli monit o kompaktowanie i naprawianie bazy danych, wybierz opcję Tak. Mogą zdarzyć się dwie rzeczy:
- Jeśli program Access całkowicie naprawi uszkodzony plik, zostanie wyświetlony komunikat informujący, że naprawa zakończyła się pomyślnie i należy sprawdzić zawartość bazy danych, aby się upewnić, że wszystko jest w porządku.
- Jeśli program Access tylko częściowo zakończy się pomyślnie, obiekty bazy danych, których nie można naprawić, będą śledzone w tabeli systemowej o nazwie MSysCompactErrors. Program Access otworzy tabelę MSysCompactErrors w widoku arkusza danych. Jeśli masz kopię zapasową bazy danych wykonaną przed uszkodzeniem bazy danych, możesz za pomocą tabeli MSysCompactErrors określić, które obiekty mają zostać zaimportowane do naprawionej bazy danych. Aby wyświetlić tabele systemowe, kliknij prawym przyciskiem myszy pasek tytułu nawigacji, a następnie w oknie dialogowym Opcje nawigacji wybierz polecenie Pokaż obiekty systemowe.
Dlaczego należy kompaktować i naprawiać bazę danych
W tym omówieniu wyjaśniono, jak za pomocą polecenia Kompaktuj i napraw bazę danych można zapobiegać następującym problemom, które czasami mogą wpływać na bazę danych, a także jak rozwiązywać te problemy: zwiększanie się rozmiaru plików podczas ich używania oraz uszkodzenia plików.
Rozmiary plików baz danych rosną w trakcie ich używania
W miarę dodawania i aktualizowania danych oraz zmieniania ich projektu plik bazy danych staje się coraz większy. Część tego zwiększenia wynika z dodania danych, ale są też inne przyczyny:
- Program Access tworzy ukryte obiekty tymczasowe w celu realizowania różnych zadań. Czasami te obiekty tymczasowe pozostają w bazie danych programu Access, chociaż nie są już potrzebne.
- Po usunięciu obiektu bazy danych zajmowane przez niego miejsce na dysku nie jest automatycznie odzyskiwane — plik bazy danych nadal używa tego miejsca na dysku mimo usunięcia obiektu.
Coraz więcej pozostałości po obiektach tymczasowych w pliku bazy danych powoduje pogorszenie jego wydajności. Obiekty mogą być otwierane wolniej, a uruchamianie zapytań i wykonywanie typowych operacji może trwać dłużej.
Pliki baz danych mogą ulegać uszkodzeniom
W pewnych okolicznościach plik bazy danych może ulec uszkodzeniu. Jeśli plik bazy danych jest udostępniany w sieci i wielu użytkowników jednocześnie bezpośrednio z nim pracuje, występuje pewne niewielkie ryzyko, że ten plik ulegnie uszkodzeniu. Ryzyko uszkodzenia jest nieco większe, jeśli użytkownicy często edytują dane w polach typu Długi tekst, a to ryzyko rośnie wraz z upływem czasu. Ryzyko to można ograniczyć przy użyciu polecenia Kompaktuj i napraw bazę danych .
Często uszkodzenie tego typu wynika z problemu z modułem języka Visual Basic for Applications (VBA) i nie stwarza ryzyka utraty danych. Uszkodzenie tego typu stwarza jednak ryzyko uszkodzenia projektu bazy danych, polegającego na przykład na utracie kodu VBA lub braku użyteczności formularzy.
Uszkodzenie pliku bazy danych rzadko powoduje utratę danych. Zazwyczaj ta utrata jest ograniczona do ostatniej akcji jednego użytkownika, czyli do jednej zmiany danych. Gdy użytkownik rozpoczyna zmienianie danych i zostanie to przerwane — na przykład ze względu na utratę usługi sieciowej — programu Access oznacza plik bazy danych jako uszkodzony. Taki plik można naprawić, ale po zakończeniu naprawy niektórych danych może brakować.
Zobacz również
Ochrona danych za pomocą procesów wykonywania i przywracania kopii zapasowych