Freigeben über


CLR-Integration und Transaktionen

Der System.Transactions-Namespace ist neu in der Version 2.0 von Microsoft .NET Framework. Er stellt ein neues Transaktionsframework zur Verfügung, das vollständig in ADO.NET und der SQL Server-CLR-Integration (Common Language Runtime) integriert ist. System.Transactions und ADO.NET arbeiten zusammen, um die Verwendung lokaler und verteilter Transaktionen in verwalteten Anwendungen zu erweitern und zu vereinfachen.

HinweisHinweis

Eine CLR-benutzerdefinierte Prozedur (UDP) kann keine Verbindung zu dem gleichen Server herstellen, auf dem sie ausgeführt wird (Loopbackverbindung), und sich in die gleiche Transaktion eintragen. Wird ein solcher Versuch unternommen, wird die Verbindung blockiert und die Kontrolle nicht wieder an die benutzerdefinierte Prozedur übergeben. Dies führt für die benutzerdefinierte Prozedur zu einem Timeoutfehler (Msg 1206).

Weitere Informationen zu Transaktionen und .NET Framework finden Sie im .NET Framework SDK in den Abschnitten zum Ausführen von Transaktionen und zur Nutzung von Transaktionen.

Weitere Informationen über Transaktionen in SQL Server finden Sie unter Transaktionen (Datenbankmodul).

In diesem Abschnitt

  • Transaktionshöherstufung
    Beschreibt die Fähigkeit, Transaktionen höher zu stufen, und die Verwendung dieses Features.

  • Zugriff auf die aktuelle Transaktion
    Beschreibt, wie auf eine Transaktion, die gerade auf SQL Server prozessintern ausgeführt wird, zugegriffen wird.

  • Verwenden von 'System.Transactions'
    Beschreibt, wie die System.Transactions-Anwendungsprogrammierschnittstelle (API) in der verwalteten Anwendung verwendet wird.

  • Lebensdauer von Transaktionen
    Beschreibt den Unterschied in der Lebensdauer von Transaktionen, die in Transact-SQL-gespeicherten Prozeduren gestartet wurden, und Transaktionen, die in CLR-Anwendungen gestartet wurden.