Étant donné que le vidage se fait en une seule transaction, vous obtenez une vue cohérente de toutes les tables de la base de données. Ceci est probablement mieux expliqué par un contre-exemple. Supposons que vous videz une base de données avec deux tables, Orders et OrderLines
- Vous démarrez le vidage sans une seule transaction.
- Un autre processus insère une ligne dans les
Orderstableau. - Un autre processus insère une ligne dans les
OrderLinestableau. - Le vidage traite les
OrderLinestableau. - Un autre processus supprime les
OrdersetOrderLinesenregistrements. - Le dump traite les
Orderstableau.
Dans cet exemple, votre dump aurait les lignes pour OrderLines , mais pas Orders . Les données seraient dans un état incohérent et échoueraient lors de la restauration s'il y avait une clé étrangère entre Orders et OrderLines .
Si vous l'aviez fait en une seule transaction, le dump n'aurait ni la commande ni les lignes (mais ce serait cohérent) puisque les deux ont été insérés puis supprimés après le début de la transaction.