Serverkonfiguration: in-doubt xact resolution
Giltz für: SQL Server Azure SQL Managed Instance SQL Server auf Azure VM
Mit der Option in-doubt xact resolution
steuern Sie das Standardergebnis von Transaktionen, die der Microsoft Distributed Transaction Coordinator (MS DTC) nicht auflösen kann. Die mangelnde Fähigkeit zur Auflösung von Transaktionen kann mit der Ausfalldauer des MS DTC zusammenhängen oder auch mit einem unbekannten Transaktionsergebnis zum Zeitpunkt der Wiederherstellung.
Die nachstehende Tabelle enthält die möglichen Ergebniswerte für das Auflösen einer unsicheren Transaktion.
Ergebniswert | Beschreibung |
---|---|
0 |
Keine Annahme. Die Wiederherstellung erzeugt einen Fehler, wenn der MS DTC unsichere Transaktionen nicht auflösen kann. |
1 |
Commit annehmen. Es wird davon ausgegangen, dass unsichere MS DTC-Transaktionen festgeschrieben werden. |
2 |
Abbruch annehmen. Es wird davon ausgegangen, dass unsichere MS DTC-Transaktionen abgebrochen werden. |
Um die Gefahr längerer Ausfallzeiten zu minimieren, kann ein Administrator diese Option so konfigurieren, dass entweder die Übermittlung oder der Abbruch angenommen wird, wie im nachstehenden Beispiel dargestellt.
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'in-doubt xact resolution', 2; -- presume abort
GO
RECONFIGURE;
GO
sp_configure 'show advanced options', 0;
GO
RECONFIGURE;
GO
Alternativ hat der Administrator die Möglichkeit, die Standardeinstellung beizubehalten (also keine Annahmen) und das Fehlschlagen der Wiederherstellung zuzulassen, damit ein eventueller DTC-Ausfall sofort bemerkt werden kann, wie im nachstehenden Beispiel erläutert.
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'in-doubt xact resolution', 1; -- presume commit
GO
RECONFIGURE
GO
ALTER DATABASE pubs SET ONLINE -- run recovery again
GO
sp_configure 'in-doubt xact resolution', 0 -- back to no assumptions
GO
sp_configure 'show advanced options', 0
GO
RECONFIGURE
GO
Bei der Option in-doubt xact resolution
handelt es sich um eine erweiterte Option. Wenn Sie die Einstellung mithilfe der gespeicherten Systemprozedur sp_configure
ändern, können Sie in-doubt xact resolution
nur ändern, wenn show advanced options
auf 1
festgelegt ist. Die Einstellung tritt ohne Neustarten des Servers sofort in Kraft.
Hinweis
Die konsistente Konfiguration dieser Option auf allen SQL Server-Instanzen, die an verteilten Transaktionen beteiligt sind, trägt dazu bei, Inkonsistenzen in den Daten zu vermeiden.