SQLite to specyficznie Przeznaczony do ochrony przed tym. Z oficjalnej SQLite is Transactional stronie:
Wszelkie zmiany w obrębie jednego transakcji w SQLite albo wystąpić całkowicie lub w ogóle, nawet jeśli akt pisania zmiany wyjścia na dysku przerywa
- awaria programu
- awarii systemu operacyjnego lub
- awaria zasilania.
Twierdzenie poprzedniego ustępu jest gruntownie sprawdzana w SQLite testu regresji przy użyciu pakietu testowego specjalną uprząż symulującej wpływ na pliku bazy danych awarii systemu operacyjnego i mocy niepowodzeń.
Możesz również być zainteresowany artykułem SQLite Atomic Commit in SQLite, jeśli chcesz poznać szczegółowe informacje o tym, jak chronią przed wypadkami takimi jak powyższe.
chodzi o pisanie po wypadku: (od
File Locking and Concurrency)
Gorący czasopismo jest tworzony, gdy proces jest w trakcie aktualizacji bazy danych i programu lub systemu operacyjnego wypadku lub awarii zasilania zapobiega aktualizacja od ukończenia. Gorące czasopisma są warunkiem wyjątkowym. Istnieją gorące dzienniki, które można odzyskać po awariach i awariach zasilania. Jeśli wszystko działa poprawnie (to znaczy, jeśli nie ma awarii ani awarii zasilania), nigdy nie dostaniesz gorącego dziennika.
Najgorsze, co może się zdarzyć, to usunięcie gorącego arkusza, który pozostał po awarii.
Dzięki! Chcę również wiedzieć, czy plik bazy danych (*. Db) pozostanie zapisywalny, jeśli wystąpi awaria zasilania, podczas gdy w bazie danych zapisywane są pewne zmiany. – quantity
@ ilość Blokowanie odbywa się na poziomie systemu operacyjnego, więc po nagłej awarii i po ponownym uruchomieniu, kod fschk powinien to wyczyścić, a plik będzie znów dostępny.Blokowanie nie odbywa się poprzez zmianę atrybutów pliku. Również z odnośników do artykułu w odpowiedzi jasne jest, że "gorące dzienniki" są obsługiwane automatycznie podczas uzyskiwania dostępu do pliku DB. – Ber
Nigdy nie należy usuwać gorącego pliku dziennika. Zobacz oficjalną dokumentację: [Jak uszkodzić plik bazy danych SQLite] (http://www.sqlite.org/howtocorrupt.html), sekcja 1.3. –