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

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

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 システム ストアド プロシージャを使用して in-doubt xact resolution の設定を変更するには、show advanced options を 1 に設定する必要があります。新しい設定は、サーバーを再起動しなくてもすぐに有効になります。

注意

分散トランザクションに関係するすべての Microsoft SQL Server インスタンスで、このオプションを同じように構成すると、データの不整合を防ぐことができます。