Kann ich irgendwo nach fehlgeschlagenen Transaktionen in SQL Server 2012 suchen?
10
Kann ich irgendwo nach fehlgeschlagenen Transaktionen in SQL Server 2012 suchen?
Nein, SQL Server verwaltet keinen Verlauf von Transaktionen, die abgebrochen / zurückgesetzt wurden, was trivial ist und keine zusätzlichen potenziellen Probleme mit sich bringt (wie in der Antwort von @ ooutwire beschrieben ). Oder sogar Transaktionen, die festgeschrieben wurden.
Sie müssen Ihre eigene Protokollierung im Rahmen Ihrer Fehlerbehandlung durchführen oder bestimmte transaktionsbezogene Ereignisse mithilfe der serverseitigen Ablaufverfolgung oder der erweiterten Ereignisse erfassen.
Spur:
Erweiterte Veranstaltungen:
Was genau meinen Sie mit "fehlgeschlagenen" Transaktionen?
Wenn Sie aktuelle Transaktionen auf der Instanz anzeigen möchten, können Sie die
sys.dm_tran_active_transactions
DMV verwenden.Hat
sys.dm_exec_sessions
auch dasopen_transaction_count
, das Ihnen diese Informationen nach Sitzung geben kann. Im Folgenden finden Sie eine Diagnoseabfrage zum Abrufen aller Benutzerprozesse mit offenen Transaktionen:Diese Informationen können auch abgerufen werden aus
sys.dm_tran_session_transactions
:Wenn Sie erfassen möchten, wann Transaktionen zurückgesetzt wurden (vorausgesetzt, Sie möchten "fehlgeschlagene" Transaktionen wünschen), können Sie das Ereignis "Erweiterte Ereignisse" erfassen
rollback_tran_completed
. Wenn Sie nach einer "Alles" -Ansicht von Transaktionen suchen, können Siesql_transaction
das von SQL Server definierte Ereignis erfassenquelle
Sie können fn_dblog () verwenden und die Transaktions-IDs für abgebrochene Transaktionen sowie eine Vielzahl anderer nützlicher Informationen finden.
Es durchsucht das gesamte Transaktionsprotokoll im aktiven Teil des Protokolls. Dies kann mit dem Trace-Flag 2537 überschrieben werden, mit dem Sie so weit wie möglich zum Start des ältesten "nicht wiederverwendeten" VLF zurückkehren können. Seien Sie vorsichtig, wenn Sie diese Funktion verwenden, da das Protokoll zufällig gescannt wird und sich das Protokoll während des Scanvorgangs nicht ändern kann. Möglicherweise sehen Sie ein logarithmisches Wachstum.
Sie können fn_dump_dblog auch für eine Protokollsicherungsdatei verwenden.
quelle