Sobes.tech
Middle

Πώς λειτουργούν οι συναλλαγές στο SQL Server;

sobes.tech AI

Απάντηση από AI

Στον SQL Server, μια συναλλαγή είναι μια ακολουθία λειτουργιών που εκτελούνται ως ενιαία μονάδα. Η συναλλαγή εγγυάται τις ιδιότητες ACID:

  • Ατομικότητα: όλες οι λειτουργίες εντός της συναλλαγής εκτελούνται πλήρως ή καθόλου.
  • Συνεπτικότητα: μετά την εκτέλεση της συναλλαγής, η βάση δεδομένων παραμένει σε σωστή κατάσταση.
  • Απομόνωση: παράλληλες συναλλαγές δεν επηρεάζουν η μία την άλλη.
  • Ανθεκτικότητα: μετά την επιβεβαίωση, οι αλλαγές διατηρούνται ακόμη και σε περίπτωση σφαλμάτων.

Οι συναλλαγές ξεκινούν με BEGIN TRANSACTION και τελειώνουν με COMMIT (επιβεβαίωση αλλαγών) ή ROLLBACK (αναίρεση αλλαγών). Το SQL Server χρησιμοποιεί ένα αρχείο καταγραφής συναλλαγών για την εξασφάλιση αξιοπιστίας και ανάκτησης.

Παράδειγμα:

BEGIN TRANSACTION;
UPDATE Accounts SET Balance = Balance - 100 WHERE AccountID = 1;
UPDATE Accounts SET Balance = Balance + 100 WHERE AccountID = 2;
IF @@ERROR <> 0
    ROLLBACK TRANSACTION;
ELSE
    COMMIT TRANSACTION;