Configuração do servidor: in-doubt xact resolution
Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure SQL Server na VM do Azure
Use a in-doubt xact resolution
opção para controlar o resultado padrão de transações que o Coordenador de Transações Distribuídas da Microsoft (MS DTC) não consegue resolver. A incapacidade de resolver transações pode estar relacionada ao tempo de desligamento do MS DTC ou a um resultado de transação desconhecido no momento da recuperação.
A tabela seguinte lista os possíveis valores de resultado para resolver uma transação incerta.
Valor de resultado | Descrição |
---|---|
0 |
Nenhuma suposição. A recuperação falhará se o MS DTC não conseguir resolver nenhuma transação incerta. |
1 |
Suponha confirmação. Supõe-se que alguma transação incerta de MS DTC esteja comprometida. |
2 |
Suponha anulação. Supõe-se que alguma transação incerta de MS DTC tenha sido anulada. |
Para minimizar a possibilidade de tempo de inatividade estendido, um administrador pode configurar essa opção para supor confirmação ou anulação, como mostrado no exemplo seguinte.
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
Como alternativa, o administrador pode deixar o padrão (nenhuma suposição) e permitir a falha da recuperação para ser alertado sobre uma falha de DTC, como mostrado no exemplo seguinte.
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
A opção in-doubt xact resolution
é uma opção avançada. Se você usar o sp_configure
procedimento armazenado do sistema para alterar a configuração, é possível alterar in-doubt xact resolution
somente quando show advanced options
estiver definido como 1
. A configuração entra em vigor imediatamente sem a reinicialização do servidor.
Observação
A configuração consistente desta opção em todas as instâncias do SQL Server envolvidas em qualquer transação distribuída ajudará a evitar divergências de dados.