Z powodów niezależnych od programu baza danych utrzymywana lokalnie (na jednym z komputerów użytkownika, a nie w chmurze) może uleć uszkodzeniu.
Powody uszkodzenia bazy danych
Powodem uszkodzenia lub usunięcia bazy danych mogą być między innymi:
- przyczyny fizyczne:
- fizyczne uszkodzenie dysku,
- brak urządzenia podtrzymującego UPS lub jego nieprawidłowe działanie,
- awaria zasilania (zanik prądu lub zbyt wysokie napięcie),
- niestabilność sieci lokalnej, zwłaszcza podczas przetwarzania obejmującego dużą ilość danych, które może zostać przerwane w trakcie transakcji,
- działania użytkownika
- przerwanie długotrwałego przetwarzania danych np. przygotowywania danych do inwentaryzacji,
- aktualizacja struktury bazy (najczęściej zaraz po aktualizacji), gdy baza danych jest wykorzystywana na innych stanowiskach lub przez inne procesy (np. nasłuchy terminarza czy odczytów z urządzeń),
- wyłączenie serwera - komputera lub serwera bazy danych Firebird, gdy na serwerze lub innym komputerze używana jest baza danych,
- uszkodzenie kopii zapasowej poprzez zbyt szybkie wyjęcie nośnika w przypadku wykonywania danych z kopii np. Pen Drive'a. Z powodu buforowania danych system Windows jeszcze po zakończeniu wykonywania kopii zapasowej przekazuje pewne dane z bufora do urządzenia. Odłączenie w tym czasie nośnika powoduje, że kopia będzie niepełne i w przypadku jej odtworzenia odzyskana baza będzie uszkodzona,
- problemy związane z ochroną zasobów informatycznych
- atak hakerski,
- brak programu antywirusowego, brak aktualizacji takiego programu lub niewłaściwa konfiguracja jego reguł,
- brak miejsca na dysku twardym, na którym przechowywana jest baza danych,
- wyczerpanie pamięci operacyjnej na serwerze wykorzystywanej do przetwarzania bazy danych,
- błędy związane z oprogramowaniem lub jego konfiguracją
- niewłaściwa konfiguracja systemu Windows lub wykorzystywanie go w niewłaściwy sposób, na przykład umieszczanie bazy danych lub kopii na dysku podlegającym synchronizacji w usłudze OneDrive,
- błędy w systemie operacyjnym Windows,
- błędy w serwerze producenta bazy danych lub praca na przestarzałych wersjach silnika bazy danych (w przypadku Firebirda wersja 2.5.0 i starsze),
- błędy w bibliotekach producentów bibliotek komunikacyjnych,
- błędy pojawiające się w aktualizacjach programu antywirusowego (wykrycie potencjalnnie niebezpiecznego kodu może spowodować usunięcie usunięcie programu lub jego wybranych elementów, w tym bazy danych),
- uśpienie komputera serwera, gdy inne komputery mają aktywne połączenie do bazy danych na tym serwerze
- działanie osób trzecich,
- inne przyczyny.
Czasem uszkodzenie takie nie jest widoczne podczas pracy z programem. Praca z bazą danych może po pewnym czasie skutkować zawieszaniem programu lub całkowitym zablokowaniem jego pracy. W takim przypadku systematycznie tworzone kopie zapasowe zawierają uszkodzony plik bazy danych i nie zawsze jest możliwa jego naprawa.
Sprawdzenie, czy baza danych nie jest uszkodzona
Dlatego warto co jakiś czas, na przykład raz w miesiącu, sprawdzać, czy baza danych nie jest uszkodzona.
W tym celu wchodzimy wykonujemy następuące kroki:
- Wyłączamy wszystkie inne instancje programu, ewentualne programy nasłuchujące (np. nasłuch terminów z terminarza internetowy czy wyników badań z aparatów - SQ-LAB)
- Uruchamiamy program z uprawnieniamy Administratora / Właściciela
- Przechodzimy na na zakładkę Administrator i uruchamiamy funkcję Zadania Administratora:
Pojawi się teraz okno Zadań Administratora:
Klikamy tu na przycisk "Napraw bazę". Jeśli baza jest wykorzystywana, pojawi się komunikat:
W takim przypadku należy wyłączyć procesy, które wciąż korzystają z programu i ponownie kliknąć na przycisk "Napraw bazę".
Czas sprawdzania zależy od wielkości bazy danych i szybkości komputera - może trwać od kilku sekund do kilku minut.
Jeśli baza nie ma żadnych uszkodzeń, pojawi się komunikat:
Jeśli jednak w bazie istnieją uszkodzenia, pojawi się komunikat, pokazujący liczbę błędów w rekordach danych i w indeksach. W takim przypadku najlepiej skontaktować się z serwisem technicznym, który pomoże w naprawie pliku bazy danych.
Zalecenia dotyczące ochrony danych
Najczęściej uszkodzenia bazy danych są niewielkie i łatwo ją naprawić. Rzadko zdarzają się sytuacje, gdy baza danych jest na tyle mocno uszkodzona, że naprawa jej jest niemożliwa. W takim przypadku pozostaje wykorzystanie kopii zapasowej i ręczne odtworzenie brakującej części danych na podstawie tworzonych na bieżąco wydruków. Aby zapobiec takiej sytuacji, zalecamy zastosowanie następujących środków ochrony danych:
- Podłączenie do serwera urządzenia UPS, podtrzymującego zasilanie na czas niezbędny do zakończenia bieżących czynności i wykonania kopii zapasowej lub bezpiecznego wyłączenia komputera.
- Włączenie automatycznego wykonywania kopii zapasowych co minimum 2 godziny i ustawienie przechowywania przynajmniej 4 ostatnich kopii. Zaleca się wykonywanie kopii zapasowej bazy danych na tyle często, aby ewentualne przywrócenie bazy danych z ostatniej kopii powodowało jak najmniejsze zakłócenia w pracy.
- Wykonywanie codziennie kopii zapasowej na zewnętrznym nośniku, przechowywanym poza placówką, w której znajduje się serwer. Jeśli nośnik pozostaje w placówce, zalecamy odłączanie go od komputera po wykonaiu kopii. W przeciwnym razie ewentualny atak hakerski może spowodować zniszczenie wszystkich kopii przechowywanych na nośniku zewnętrznym.
- W przypadku instalacji wielostanowiskowych należy przechowywać bazę danych na serwerze z zastosowaniem mechanizmów Raid 5, Raid 6 lub wyżej (zalecane: Raid 1+0).
- Jeśli po aktualizacji, przy uruchomieniu programu pojawi się komunikat informujący o tym, że na pozostałych stanowiskach program oraz procesy dodatkowe muszą być wyłączone, należy bezwzględnie zapewnić spełnienie tego wymogu.
- Przy większej ilości danych i stanowisk zalecane jest rozważenie zakup i zastosowanie bazy MS SQL Server zamiast darmowej bazy Firebird.
Wszystkie opisane czynności dotyczą bazy przechowywanej lokalnie.