Sintomas
Tenha em conta o seguinte cenário:
- Tem uma base de dados de Grupo de Disponibilidade AlwaysOn (AG) no Microsoft SQL Server 2016.
- Reinicie o serviço Microsoft Distributed Transaction Coordinators (DTC).
- Suponha que você execute a Transação Distribuída no banco de dados habilitado para AG. Nesta situação, poderá notar que a transação falha com erros que têm os seguintes aspetos:
Nota
Msg 8510, Nível 20, Estado 3, Número de Linha
Falha na operação de recrutamento: 0x8004d01c(XACT_E_CONNECTION_DOWN). SQL Server não foi possível registar-se no Coordenador de Transações Distribuídas da Microsoft (MS DTC) como gestor de recursos para esta transação. A transação pode ter sido interrompida pelo cliente ou pelo gestor de recursos.
Msg 596, Nível 21, Estado 1, Número de Linha
Não é possível continuar a execução porque a sessão está no estado de matar.
Msg 0, Nível 20, Estado 0, Número de Linha
Ocorreu um erro grave no comando atual. Os resultados, se houver, devem ser descartados.
Solução
Uma solução alternativa para este problema é que, ao reiniciar o serviço SQL Server, poderá não receber o erro.
Resolução
Este problema foi corrigido na seguinte atualização cumulativa para SQL Server:
Atualização cumulativa 6 para SQL Server 2016 SP1
Acerca das atualizações cumulativas para SQL Server:
Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Consulte as atualizações cumulativas mais recentes para SQL Server:
Atualizações cumulativas mais recentes do SQL Server 2016
Estado
A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".
Referências
Saiba mais sobre a terminologia que a Microsoft utiliza para descrever as atualizações de software.