Wie kann ich in SQL Server wissen, welchen Transaktionsmodus ich momentan verwende? Wie autocommit, explizit oder implizit. Und wie kann ich mit tsql einen Modus in einen anderen Modus ändern? Vielen Dank.Wie kann ich in SQL Server wissen, welchen Transaktionsmodus ich momentan verwende?
Antwort
IF @@TRANCOUNT = 0 PRINT 'No current transaction, autocommit mode (default)'
ELSE IF @@OPTIONS & 2 = 0 PRINT 'Implicit transactions is off, explicit transaction is currently running'
ELSE PRINT 'Implicit transactions is on, implicit or explicit transaction is currently running'
ich verwenden würde nicht Ich denke, es gibt eine Möglichkeit festzustellen, ob die aktuelle Transaktion explizit oder implizit gestartet wurde. Dieser Code versucht nur zu raten: Wenn IMPLICIT_TRANSACTIONS OFF ist, wird angenommen, dass die Transaktion explizit gestartet wird.
MSDN Referenzen:
select @@OPTIONS & 2
Wenn dies 2 ergibt, befinden Sie sich im impliziten Transaktionsmodus. Wenn es 0 zurückgibt, sind Sie in Autocommit.
Zum Umschalten in welchem Modus Sie sich befinden, Sie
set implicit_transactions on
oder
set implicit_transactions off
Es sollte implizit_transactions sein. –
@daniel_aren - wahr, jetzt geändert. Ich weiß nicht, warum es vorher nicht entdeckt wurde. –
Das Ein-/Ausschalten geschieht auf der Server-Ebene oder in der aktiven Sitzung, in der die Transaktion stattfindet? – SQLnbe
Geringfügige Änderung zuvor Skript geschrieben - Verbindung ist im Autocommit-Modus, wenn gibt es keine aktive Transaktion und implizite Transaktionen aus :
IF @@TRANCOUNT = 0 AND (@@OPTIONS & 2 = 0)
PRINT 'No current transaction, autocommit mode (default)'
ELSE IF @@TRANCOUNT = 0 AND (@@OPTIONS & 2 = 2)
PRINT 'Implicit transactions is on, no transaction started yet'
ELSE IF @@OPTIONS & 2 = 0
PRINT 'Implicit transactions is off, explicit transaction is currently running'
ELSE
PRINT 'Implicit transactions is on, implicit or explicit transaction is currently running' + CAST(@@OPTIONS & 2 AS VARCHAR(5))
- 1. Wie kann ich wissen, zu welchen Kategorien der Texteingabe gehört?
- 2. In welchen Situationen verwende ich diese Sortieralgorithmen?
- 3. Wie kann ich SQL Server verbessern Spiegelung
- 4. Wie verwende ich das UPDATE in SQL Server
- 5. Wie verwende ich LINQ to SQL?
- 6. Welchen Swift-Datentyp verwende ich für Währung?
- 7. Wie verwende ich SQL created_date in Python
- 8. Wie kann ich wissen, welche Django-Version ich verwende? ist es 1.0, 1.1 oder 1.2?
- 9. Wie kann ich SQL Server zwingen
- 10. Wie kann ich SQL Server-Datenbankdiagramme scripten?
- 11. Wie kann ich SQL Server Instanzen installieren?
- 12. Wie kann ich Anmeldungen in SQL Server 2000 deaktivieren?
- 13. Wie verwende ich SqlCacheDependency?
- 14. Kann ich SQL Server neben SQL Server Express installieren?
- 15. Welchen SQL-Befehl kann ich verwenden, um die Struktur einer Tabelle auf SQL Server zu sehen?
- 16. Wie kann ich wissen, Tastatur ist offen
- 17. Kann ich FIPS momentan in einer .net-Anwendung aktivieren?
- 18. Wie verwende ich eine SQL-Funktion in meiner SQL-Abfrage
- 19. Wie implementiere ich eine Methode, die in Java zurückkehrt, ohne zu wissen, welchen Objekttyp ich zurücksende?
- 20. Wie kann ich wissen, ob ich hinzufügen zu zeigen, die ich von Admob-Server bekomme?
- 21. Wie deklariere ich und verwende Variablen in PL/SQL wie ich in T-SQL?
- 22. Wie kann ich Zufallswerte in eine SQL Server-Tabelle einfügen?
- 23. Wie kann ich wissen, was osCommerce veröffentlicht?
- 24. Wie verwende ich wo <aktuelles_datum sql?
- 25. Wie verwende ich Union innerhalb while? (SQL)
- 26. Wie verwende ich T-SQL-Gruppe Von
- 27. Wie verwende ich createTransport?
- 28. Welchen Windows SVN Server sollte ich verwenden?
- 29. Wie entkomme ich _ in SQL Server?
- 30. Wie verkette ich Datepart in SQL Server?
Ich denke, dass die Nachricht' Keine aktuelle Transaktion, Autocommit-Modus (Standard) 'ist ein wenig irreführend, da Autocommit zu diesem Zeitpunkt nicht ganz sicher ist, konnte die Verbindung für implizite Transaktionen eingestellt werden, aber da keine Aussage waren ausgegeben, noch wurde keine Transaktion gestartet. – MaxiWheat