Transaktionen und Parallelität

Eine Transaktion besteht aus einem einzelnen Befehl oder einer Gruppe von Befehlen, die als Paket ausgeführt werden. Mit Transaktionen können Sie mehrere Operationen in einem Arbeitsschritt zusammenfassen. Wenn an einer Stelle in der Transaktion ein Fehler auftritt, kann für alle Updates ein Rollback zum Zustand vor der Transaktion ausgeführt werden.

Eine Transaktion muss zur Gewährleistung der Datenkonsistenz die folgenden vier Kriterien, die so genannten ACID-Kriterien, erfüllen: Atomicity (Atomarität), Consistency (Konsistenz), Isolation und Durability (Dauerhaftigkeit). Die meisten relationalen Datenbanksysteme (z. B. Microsoft SQL Server) unterstützen Transaktionen, indem sie für Update-, Einfüge- oder Löschvorgänge, die durch eine Clientanwendung ausgeführt werden, entsprechende Sperr-, Protokollierungs- und Transaktionsverwaltungsfunktionen bereitstellen.

Hinweis

Transaktionen, an denen mehrere Ressourcen beteiligt sind, können die Parallelität senken, wenn Sperren zu lang gehalten werden. Halten Sie Transaktionen daher so kurz wie möglich.

Wenn an einer Transaktion mehrere Tabellen in derselben Datenbank oder auf demselben Server beteiligt sind, bieten explizite Transaktionen in gespeicherten Prozeduren oft eine bessere Leistung. Transaktionen in gespeicherten SQL Server-Prozeduren können Sie mithilfe der Transact-SQL-Anweisungen BEGIN TRANSACTION, COMMIT TRANSACTION und ROLLBACK TRANSACTION erstellen.

Transaktionen, an denen verschiedene Ressourcen-Manager beteiligt sind, z. B. Transaktionen zwischen SQL Server und Oracle, erfordern eine verteilte Transaktion.

In diesem Abschnitt

Lokale Transaktionen
Zeigt, wie Transaktionen für eine Datenbank ausgeführt werden können.

Distributed Transactions (Verteilte Transaktionen)
Beschreibt die Ausführung von verteilten Transaktionen in ADO.NET.

System.Transactions-Integration in SQL Server
In diesem Artikel wird die System.Transactions-Integration mit SQL Server für die Arbeit mit verteilten Transaktionen beschrieben.

Vollständige Parallelität
Beschreibt die vollständige und die eingeschränkte Parallelität und wie Sie auf Parallelitätsverletzungen testen können.

Siehe auch