Это сообщение появляется в случае неудачной попытки привлечения новой или существующей транзакции координатора распределенных транзакций Майкрософт (MS DTC).
Причины сбоя такого привлечения могут быть различными. Состояние данной ошибки, конкретный код результата, возвращенный вместе с ошибкой, а также любые другие ошибки, возникшие примерно в то же время, могут помочь определить причину сбоя привлечения в данной среде. Сбой привлечения часто сигнализирует о неполадке связи, такой как неудачное разрешение имен. Эта ошибка также может быть следствием способа программирования вызывающего приложения, блокировки или проблем с производительностью на стороне SQL Server.
Убедитесь, что служба MS DTC запущена на обоих компьютерах, вовлеченных в данную транзакцию MS DTC. Если служба MS DTC является кластеризованной, то с помощью программы "Администратор кластера" проверьте, работает ли она в режиме "в сети".
Проверьте наличие в журналах событий серверов, вовлеченных в данную транзакцию MS DTC, чтобы выяснить наличие других ошибок, возникших одновременно с данным сообщением. Если есть другие ошибки, то сначала устраните их, так как данная ошибка часто является следствием других ошибок.
По умолчанию сетевой доступ MS DTC отключен в Windows Server 2003. Если какой-либо участвующий в работе компьютер работает под управлением Windows 2003, убедитесь, что сетевой доступ MS DTC включен. Дополнительные сведения о включении сетевого доступа MS DTC в Windows 2003 см. в статье базы знаний Майкрософт 817064.
Проверьте, правильно ли выполняется обмен RPC между вовлеченными серверами.
Перезагрузите серверы, вовлеченные в данную транзакцию MS DTC, чтобы очистить все сведения об IP-адресах.
Проверьте, чтобы время ожидания транзакции для вызывающего компонента COM+ было настроено достаточно большим для предотвращения тайм-аута из-за попытки отдельного компонента вовлечь в работу транзакцию, время ожидания которой уже истекло.
Если параметр конфигурации SQL Server "использование упрощенных пулов" (также известен как "режим волокон") включен, отключите его. Проверьте, продолжает ли появляться данная ошибка.
Если параметр конфигурации SQL Server "повышение приоритета" включен, отключите его. Проверьте, продолжает ли появляться данная ошибка.
Обратитесь к статье 307802 базы знаний Майкрософт и узнайте, насколько точно используемая среда соответствует описанной в статье. Если соответствие точное, попробуйте изменить один из факторов среды и посмотрите, не перестало ли появляться данное сообщение. Если сообщение перестает появляться, когда текущая среда больше не соответствует описанной в статье, то сообщение можно просто проигнорировать.
Имя | Описание | Значение по умолчанию |
Вкл. | Включает или отключает рабочий процесс. | Да |
Приоритет | Определяет приоритет предупреждения. | 1 |
Серьезность | Определяет серьезность предупреждения. | 1 |
Target | Microsoft.SQLServer.2012.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 | Mom2012ID='{7F714A4C-B7CF-4665-B1B5-4D7A3E0613D0}';MOM2012GroupID={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.2012.Enlist_of_MSDTC_transaction_failed_1_5_Rule" Target="SQL2012Core!Microsoft.SQLServer.2012.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2012ID='{7F714A4C-B7CF-4665-B1B5-4D7A3E0613D0}';MOM2012GroupID={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.2012.Enlist_of_MSDTC_transaction_failed_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>