Ponieważ zrzut znajduje się w jednej transakcji, otrzymujesz spójny widok wszystkich tabel w bazie danych. Najlepiej wyjaśnia to kontrprzykład. Załóżmy, że zrzucasz bazę danych z dwiema tabelami, Orders
i OrderLines
- Uruchamiasz zrzut bez jednej transakcji.
- Inny proces wstawia wiersz do
Orders
stół. - Inny proces wstawia wiersz do
OrderLines
stół. - Zrzut przetwarza
OrderLines
stół. - Inny proces usuwa
Orders
iOrderLines
rekordy. - Zrzut przetwarza
Orders
stół.
W tym przykładzie zrzut miałby wiersze dla OrderLines
, ale nie Orders
. Dane byłyby w niespójnym stanie i nie powiodło się przywrócenie, gdyby między Orders
był klucz obcy i OrderLines
.
Jeśli zrobiłeś to w jednej transakcji, zrzut nie miałby ani kolejności, ani wierszy (ale byłby spójny), ponieważ oba zostały wstawione, a następnie usunięte po rozpoczęciu transakcji.