A regra aciona um alerta quando o SQL Server falha ao inscrever uma transação distribuída nova ou existente.
Essa mensagem ocorre quando o SQL Server falha ao inscrever uma transação MSDTC (Coordenador de Transações Distribuídas da Microsoft) nova ou existente.
Pode haver várias causas raiz para um erro desse tipo. O estado do erro, o código de resultado específico retornado com o erro e todos os outros erros que ocorreram em horário próximo podem ajudar a determinar por que a inscrição falho. A falha na inscrição geralmente é um sinal de problema de comunicação, como uma falha na resolução de nomes. Ela também pode ser resultado da maneira como o aplicativo de chamada está codificado ou de problemas de bloqueio ou desempenho no lado do SQL Server.
Verifique se o MS DTC foi iniciado nos dois computadores envolvidos na transação do MS DTC. Se o serviço do MS DTC estiver clusterizado, verifique se ele está online no Administrador de Cluster.
Analise os logs de evento dos servidores envolvidos na transação do MS DTC para saber se há outros erros em horário próximo àquele em que ocorreu essa mensagem. Se houver outros erros, solucione-os primeiro, pois esse erro é sempre um efeito colateral de outros erros.
Por padrão, o acesso do MS DTC à rede fica desabilitado no Windows Server 2003. Se algum computador envolvido estiver executando o Windows 2003, verifique se o MS DTC foi habilitado.
Verifique se as comunicações RPC entre os servidores envolvidos estão funcionando corretamente.
Reinicie os servidores envolvidos na transação do MS DTC para liberar todas as informações de endereço IP.
Verifique se as configurações de tempo limite de transação do componente de chamada COM+ são suficientes para evitar um tempo limite que resulte em um componente separado tentando se inscrever em uma transação que já atingiu o tempo limite
Se você tiver ativado a opção de configuração "lightweight pooling" do SQL Server (também conhecida como "modo de fibra") desative-a. Teste se o erro ainda ocorre.
Caso tenha ativado a opção de configuração "aumento de prioridade" do SQL Server, desative-a. Teste se o erro ainda ocorre.
Nome | Descrição | Valor padrão |
Habilitado | Habilita ou desabilita o fluxo de trabalho. | Sim |
Prioridade | Define a Prioridade do Alerta. | 1 |
Gravidade | Define a Severidade do Alerta. | 1 |
Target | Microsoft.SQLServer.2014.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 8510 | ||
Event Source | $Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2014ID='{7F714A4C-B7CF-4665-B1B5-4D7A3E0613D0}';MOM2014GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.Windows.EventProvider | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.2014.Enlist_of_MSDTC_transaction_failed_1_5_Rule" Target="SQL2014Core!Microsoft.SQLServer.2014.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2014ID='{7F714A4C-B7CF-4665-B1B5-4D7A3E0613D0}';MOM2014GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>8510</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2014.Enlist_of_MSDTC_transaction_failed_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>