Serverkonfiguration: in-doubt xact resolution

Gilt für:SQL ServerVerwaltete Azure SQL-InstanzSQL Server auf virtuellen Azure-Computern

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 Vermutung. Die Wiederherstellung schlägt fehl, wenn MS DTC keine nicht entschiedenen Transaktionen auflösen kann.
1 Commit annehmen. Nimmt an, dass alle fraglichen MS DTC-Transaktionen committet werden.
2 Abbruch annehmen. Es wird davon ausgegangen, dass alle MS DTC-Transaktionen mit ungewissem Status 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.

EXECUTE sp_configure 'show advanced options', 1;
GO

RECONFIGURE;
GO

EXECUTE sp_configure 'in-doubt xact resolution', 2; -- presume abort
GO

RECONFIGURE;
GO

EXECUTE 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.

EXECUTE sp_configure 'show advanced options', 1;
GO

RECONFIGURE;
GO

EXECUTE sp_configure 'in-doubt xact resolution', 1; -- presume commit
GO

RECONFIGURE;
GO

ALTER DATABASE pubs SET ONLINE -- run recovery again
;
GO

EXECUTE sp_configure 'in-doubt xact resolution', 0 -- back to no assumptions
;
GO

EXECUTE 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.