Udostępnij za pośrednictwem


Transakcje

Opracowano koncepcję transakcji obsługiwać przypadki, w których Wynikowy stan bazy danych zależy od całkowitej sukces serii operacji.To może przyjść ponieważ kolejne czynności może zmodyfikować wyniki poprzedniej operacji.W takich przypadkach jeśli wszelkie jedna operacja nie powiedzie się, Wynikowy stan może być indeterminate.

Aby rozwiązać ten problem, transakcje grupy serii operacji w taki sposób, który można zapewnić integralność wyniku końcowego.Wszystkie operacje muszą się powieść i następnie zostać popełnione (zapisane w bazie danych) albo cała transakcja nie powiedzie się.Anulowanie transakcji jest nazywany rollback.Wycofywanie pozwala odzyskiwania od zmiany i przywraca bazę danych do stanu pretransaction.

Na przykład w transakcji bankowej zautomatyzowanych, jeśli przeniesiono pieniądze z konta, A konto b zarówno wycofanie z depozytu i b, musi zostać poprawnie przetworzyć funduszy lub cała transakcja musi zakończyć się niepowodzeniem.

Transakcja musi mieć właściwości ACID, które na następujące:

  • Niepodzielność transakcji jest atomowa jednostka pracy i wykonuje dokładnie jeden raz; wszystkie praca jest wykonywana, albo nie jest.

  • Spójność transakcji pozwala zachować spójność danych, przekształcania jeden spójny stan danych w innym Państwie spójne danych.Dane związane z transakcją muszą być zachowane semantycznie.

  • Izolacja jest transakcja jednostkę izolacji i każdego występuje oddzielnie i niezależnie od jednoczesnych transakcji.Transakcja nigdy nie powinny być widoczne etapów pośrednich innej transakcji.

  • Trwałość jednostka odzyskiwania jest transakcja.Jeśli transakcja się powiedzie, utrzymują się jej aktualizacji, nawet jeśli system ulega awarii lub zostanie zamknięty.Jeśli transakcja nie powiedzie się, system pozostaje w stanie wcześniejszych niż zatwierdzeniem transakcji.

Transakcje można obsługiwać w OLE DB (zobacz Transakcji OLE DB wspieranie) lub ODBC (zobacz Transakcji (ODBC)).

Transakcja rozproszona jest transakcja, która aktualizuje dane rozproszone, oznacza to, że dane na więcej niż jednego systemu na komputerze sieciowym.Obsługi transakcji za pośrednictwem systemu rozproszonego, należy użyć programu Microsoft.NET Framework zamiast obsługę transakcji OLE DB.

Zobacz też

Koncepcje

Programowanie dostępu danych