Essa mensagem ocorre quando é feita uma tentativa de inscrever uma transação do MS DTC (Coordenador de Transações Distribuídas da Microsoft) nova ou existente e essa tentativa falha.
A causa da falha da inscrição varia. 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 falhou no seu ambiente. 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 é desabilitado no Windows Server 2003. Se algum computador envolvido tiver o Windows 2003 em execução, verifique se o MSDTC foi habilitado. Para obter mais informações sobre como habilitar o acesso do MS DTC à rede no Windows 2003, consulte o artigo 817064 da Base de Dados de Conhecimento Microsoft
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.
Analise o artigo 307802 da Base de Dados de Conhecimento Microsoft para saber se o seu ambiente é uma correspondência exata do ambiente no artigo. Se for uma correspondência exata, tente alterar um dos fatores ambientais para ver se a mensagem deixa de ocorrer. Se ela deixar de ocorrer quando o ambiente não corresponder mais ao artigo, você saberá que a mensagem pode ser ignorada com segurança.
Target | Microsoft.SQLServer.2005.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 8510 | ||
Event Source | $Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2005ID='{7F714A4C-B7CF-4665-B1B5-4D7A3E0613D0}';MOM2005GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.Windows.EventProvider | Microsoft.SQLServer.SQLDefaultAccount |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.2005.Enlist_of_MSDTC_transaction_failed_1_5_Rule" Target="SQL2005Core!Microsoft.SQLServer.2005.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2005ID='{7F714A4C-B7CF-4665-B1B5-4D7A3E0613D0}';MOM2005GroupID={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" RunAs="SQL!Microsoft.SQLServer.SQLDefaultAccount">
<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="SQL!Microsoft.SQLServer.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.2005.Enlist_of_MSDTC_transaction_failed_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>