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