Da du ønsker at udføre en distribueret transaktion , skal du bruge to-faset commit-protokollen .
Du starter transaktioner på begge databaser som normalt, men i stedet for at begå dem, kører du
PREPARE TRANSACTION 'some_name';
Dette udfører alt, hvad der kan fejle under en commit og fortsætter transaktionerne. Når det er lykkedes, kører du følgende på begge databaser:
COMMIT PREPARED 'some_name';
for at begå transaktionerne.
Hvis noget fejler under PREPARE TRANSACTION
, kører du følgende for at slippe af med allerede forberedte transaktioner:
ROLLBACK PREPARED 'some_name';
Bemærk, at du bruger transacrion-managersoftware, hvis du bruger forberedte transaktioner, så eventuelle forberedte transaktioner, der efterlades efter et nedbrud eller andet uventet problem, bliver ryddet op i pålideligt. Forberedte transaktioner, der ikke er forpligtet eller rullet tilbage, forbliver for evigt og vil med absolut sikkerhed bryde din database.