Pliki baz danych mogą szybko rosnąć w czasie ich używania, co czasami może utrudnić wydajność. Zdarza się też, że mogą ulec uszkodzeniu. Aby zapobiec tym problemom lub rozwiązać te problemy, możesz użyć polecenia Kompaktuj i napraw bazę danych. 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: podzielenie bazy danych może zapobiec uszkodzeniem plików bazy danych i ograniczyć utratę danych przez przechowywanie danych w osobnym pliku, do których użytkownicy nie mają bezpośredniego dostępu.
Sposoby kompaktowania i naprawiania bazy danych
Istnieje kilka sposobów kompaktowania i naprawiania bazy danych. Często spotykaną praktyką jest automatyczne kompaktowanie i naprawianie bazy danych po jej zamknięciu. Ponadto można ręcznie uruchomić polecenie Kompaktuj i napraw bazę danych, gdy jest otwarta baza danych, a także w otwartej bazie danych.
Przed rozpoczęciem
Przed rozpoczęciem operacji kompaktowania i naprawiania należy przed rozpoczęciem operacji kompaktowania i naprawiania podjąć następujące czynności:
-
Tworzenie 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. Oprócz strategii regularnego wykonywania kopii zapasowej należy wykonać kopię zapasową bezpośrednio przed użyciem polecenia Kompaktuj i napraw bazę danych. Aby uzyskać więcej informacji, zobacz Chronienie danych za pomocąprocesów wykonywania i przywracania kopii zapasowych.
-
Uzyskiwanie wyłącznego dostępu 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ń do pliku bazy danych Jeśli nie masz wystarczających uprawnień, a chcesz skompaktować i naprawić bazę danych, skontaktuj się z administrator systemu w celu uzyskania pomocy. Aby uzyskać więcej informacji, zobacz Zmiany dotyczące udostępniania plików w sieci w systemie Windows 10.
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ę oddzielnie 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.
-
Wybierz pozycję Plik > Opcje.
-
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 opcja została wdana.
Ręczne kompaktowanie i naprawianie otwartej bazy danych
-
Wybierz pozycję Informacje > pliku >zwartą & naprawie bazy danych.
Program Access utworzy kopię skompaktowanych i naprawinych baz danych w tej samej lokalizacji.
Ręczne kompaktowanie i naprawianie bazy danych, która nie jest otwarta
Tej procedury należy używać, gdy nie można bezpośrednio otworzyć bazy danych programu Access.
-
Upewnij się, że nikt inny nie korzysta obecnie z pliku bazy danych.
-
Uruchom program Access.
-
W programach Access 2013, Access 2016 i Access 2019:
-
Na stronie szablonów kliknij dwukrotnie pozycję Pusta baza danych.
-
Wybierz pozycję >Zamknij.
-
-
Wybierz pozycję Narzędzia bazy danych > Kompaktowanie i naprawianie 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ę skompaktowanych i naprawinych baz 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 w programie Access zostanie wyświetlony monit o kompaktowanie i naprawianie bazy danych, wybierz pozycję Tak. Mogą się zdarzyć 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 się powiedzie, śledzi obiekty bazy danych, których nie można było naprawić 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 pozycję 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 określonych 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 pracuje bezpośrednio z plikiem, istnieje niewielkie ryzyko, że ten plik zostanie uszkodzony. Ryzyko uszkodzenia jest nieco większe, jeśli użytkownicy często edytują dane w polach typu Nota, a ryzyko zwiększa się wraz z czasem. To ryzyko można zminimalizować za pomocą polecenia Kompaktuj i napraw bazę danych.
Uszkodzenie tego typu często jest skutkiem 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ć.