in-doubt xact resolution 選項

使用 in-doubt xact resolution 選項,可控制 Microsoft 分散式交易協調器 (MS DTC) 無法解析之交易的預設結果。無法解析交易的原因,可能與 MS DTC 停機,或在復原時出現未知的交易結果等狀況有關。

下表列出解析不確定的交易時,可能出現的結果值。

結果值

描述

0

無假設結果。如果 MS DTC 有無法解析的不確定交易,復原即會失敗。

1

假設為認可。任何 MS DTC 不確定的交易都假設為已認可。

2

假設為中止。任何 MS DTC 不確定的交易都假設為已中止。

若要將停機時間降到最低,系統管理員可將此選項設為「假設為認可」或「假設為中止」,如以下範例所示。

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

或者,系統管理員也可以採用預設值 (無假設結果) 並允許復原失敗,以便記錄 DTC 失敗,如以下範例所示。

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

In-doubt xact resolution 屬於進階選項。若使用 sp_configure 系統預存程序來變更該設定,只有當 show advanced options 設為 1 時,才可以變更 in-doubt xact resolution。這個設定會立即生效 (不需重新啟動伺服器)。

[!附註]

在與分散式交易相關的所有 Microsoft SQL Server 執行個體上,讓此選項的組態都維持一致,將有助於避免資料不一致。