Тъй като дъмпът е в една транзакция, получавате последователен изглед на всички таблици в базата данни. Това вероятно се обяснява най-добре с контрапример. Да речем, че изхвърляте база данни с две таблици, Orders
и OrderLines
- Започвате изхвърлянето без нито една транзакция.
- Друг процес вмъква ред в
Orders
маса. - Друг процес вмъква ред в
OrderLines
маса. - Дъмпа обработва
OrderLines
маса. - Друг процес изтрива
Orders
иOrderLines
записи. - Дампа обработва
Orders
маса.
В този пример вашият дъмп ще има редовете за OrderLines
, но не и Orders
. Данните биха били в непоследователно състояние и биха се провалили при възстановяване, ако имаше външен ключ между Orders
и OrderLines
.
Ако го бяхте направили в една транзакция, изхвърлянето нямаше да съдържа нито поръчката, нито редовете (но щеше да бъде последователно), тъй като и двете бяха вмъкнати и изтрити след началото на транзакцията.