разрешение xact in-doubt (параметр конфигурации сервера)

Применимо к:SQL Server

Результат по умолчанию для транзакций, которые не удалось разрешить координатору распределенных транзакций (MS DTC), задается с помощью параметра in-doubt xact resolution Microsoft . Невозможность разрешить транзакции может быть связана с простоем 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 , то изменить значение параметра in-doubt xact resolution можно только при условии, что параметр show advanced options равен 1. Параметр вступает в силу сразу без перезапуска сервера.

Примечание

Последовательная настройка этого параметра во всех экземплярах Microsoft SQL Server, которые участвуют в распределенных транзакциях, поможет избежать несогласованности данных.

См. также:

RECONFIGURE (Transact-SQL)
Параметры конфигурации сервера (SQL Server)
sp_configure (Transact-SQL)