不确定事务解决服务器配置选项

使用 不确定的 xact 解析 选项控制Microsoft分布式事务处理协调器(MS DTC)无法解析的事务的默认结果。 无法解析事务可能与恢复时 MS DTC 停机时间或未知事务结果相关。

下表列出了解决有疑问的事务可能出现的结果值。

结果值 DESCRIPTION
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  
  

未决事务解析选项是一个高级选项。 如果使用sp_configure系统存储过程更改设置,则只有当显示高级选项设定为1时,才能更改不确定事务决议。 该设置将立即生效,无需重新启动服务器。

注释

在所有分布式事务中涉及的所有 MicrosoftSQL Server 实例中,此选项的一致配置将有助于避免数据不一致。

另请参阅

RECONFIGURE (Transact-SQL)
服务器配置选项 (SQL Server)
sp_configure(Transact-SQL)