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