In SQL Server, wie kann ich wissen, was Transaktionsmodus, die ich derzeit benutze?
In SQL Server, wie kann ich wissen, was Transaktionsmodus, die ich derzeit benutze? Wie autocommit, explicit oder implizite. Und wie kann ich das ändern eines Modus zum anderen mit tsql?
Großer Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube nicht, dass es einen Weg gibt, um zu bestimmen, ob die aktuelle Transaktion gestartet wurde, explizit oder implizit. So, diesen code einfach versucht zu erraten: wenn IMPLICIT_TRANSACTIONS OFF ist, wird die Transaktion angenommen wird explizit gestartet werden.
MSDN Referenzen:
No current transaction, autocommit mode (default)
ist ein wenig irreführend, da der autocommit ist nicht völlig sicher, an diesem Punkt, die Verbindung konnte Satz für implizite Transaktionen, aber da keine Erklärung ausgestellt wurden, noch keine Transaktion gestartet worden.wenn diese 2 zurückgibt, Sie sind im impliziten Transaktionsmodus. Wenn es gibt 0 zurück, du bist im autocommit.
BOL für @@OPTIONEN
BOL für das, was jede option ist
Wechseln, in welchem Modus Sie sich befinden, die Sie verwenden würden,
oder
Leichte änderung zu vorher geposteten script - Verbindung im autocommit-Modus, wenn es keine aktive Transaktion UND implizite Transaktionen werden sich aus: