Transakcje i współbieżność

Transakcja składa się z jednego polecenia lub grupy poleceń wykonywanych jako pakiet. Transakcje umożliwiają łączenie wielu operacji w jedną jednostkę pracy. Jeśli awaria wystąpi w jednym momencie transakcji, wszystkie aktualizacje mogą zostać wycofane ze stanu przed transakcją.

Transakcja musi być zgodna z właściwościami ACID — niepodzielnością, spójnością, izolacją i trwałością — w celu zagwarantowania spójności danych. Większość systemów relacyjnych baz danych, takich jak program Microsoft SQL Server, obsługuje transakcje, zapewniając funkcje blokowania, rejestrowania i zarządzania transakcjami za każdym razem, gdy aplikacja kliencka wykonuje operację aktualizacji, wstawiania lub usuwania.

Uwaga

Transakcje obejmujące wiele zasobów mogą obniżyć współbieżność, jeśli blokady są przechowywane zbyt długo. W związku z tym należy zachować transakcje tak krótko, jak to możliwe.

Jeśli transakcja obejmuje wiele tabel w tej samej bazie danych lub serwerze, transakcje jawne w procedurach składowanych często działają lepiej. Transakcje można tworzyć w procedurach składowanych programu SQL Server przy użyciu instrukcji Języka Transact-SQL BEGIN TRANSACTIONi COMMIT TRANSACTIONROLLBACK TRANSACTION .

Transakcje obejmujące różne menedżery zasobów, takie jak transakcja między programem SQL Server i oracle, wymagają transakcji rozproszonej.

W tej sekcji

Transakcje lokalne
Pokazuje, jak wykonywać transakcje względem bazy danych.

Transakcje rozproszone
Opisuje sposób wykonywania transakcji rozproszonych w ADO.NET.

Integracja System.Transactions z programem SQL Server
Opisuje System.Transactions integrację z programem SQL Server do pracy z transakcjami rozproszonymi.

Optymistyczna współbieżność
Opisuje optymistyczną i pesymistyczną współbieżność oraz sposób testowania pod kątem naruszeń współbieżności.

Zobacz też