Freigeben über


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.