Diese Meldung wird ausgegeben, wenn der Versuch, sich für eine neue oder vorhandene MS DTC-Transaktion (Microsoft Distributed Transaction Coordinator) einzutragen, fehlschlägt.
Das Fehlschlagen der Eintragung kann verschiedene Ursachen haben. Der Fehlerstatus, der mit dem Fehler zurückgegebene Ergebniscode sowie andere Fehler, die ungefähr zur selben Zeit aufgetreten sind, können nützliche Informationen liefern, um zu ermitteln, warum die Eintragung in der spezifischen Umgebung fehlgeschlagen ist. Die fehlgeschlagene Eintragung deutet häufig auf ein Kommunikationsproblem, z. B. eine fehlgeschlagene Namensauflösung, hin. Sie kann auch auf die Art der Programmierung der aufrufenden Anwendung zurückzuführen sein oder als Folge von Blockierungen oder Leistungsproblemen auf SQL Server-Seite auftreten.
Überprüfen Sie, ob MS DTC auf beiden an der MS DTC-Transaktion teilnehmenden Computern gestartet wurde. Wenn der MS DTC-Dienst in einem Cluster ausgeführt wird, vergewissern Sie sich in der Clusterverwaltung, dass er online ist.
Suchen Sie in den Ereignisprotokollen nach den Servern, die an der MS DTC-Transaktion beteiligt waren, um festzustellen, ob andere Fehler ungefähr zur selben Zeit wie diese Meldung protokolliert wurden. Falls andere Fehler aufgetreten sind, sollten Sie diese zunächst beheben, da dieser Fehler häufig eine Nebenerscheinung anderer Fehler ist.
Standardmäßig ist der Netzwerkzugriff auf MS DTC in Windows Server 2003 deaktiviert. Vergewissern Sie sich, dass MS DTC aktiviert wurde, wenn auf einem beteiligten Computer Windows Server 2003 ausgeführt wird. Weitere Informationen über das Aktivieren von MS DTC-Netzwerkzugriff unter Windows Server 2003 finden Sie im Microsoft Knowledge Base-Artikel 817064.
Überprüfen Sie, ob die RPC-Kommunikation zwischen den beteiligten Servern ordnungsgemäß funktioniert.
Starten Sie die an der MS DTC-Transaktion beteiligten Server neu, um alle IP-Adressinformationen zu leeren.
Stellen Sie sicher, dass die Transaktionstimeouteinstellungen für die aufrufende COM+-Komponente groß genug sind, um ein Timeout zu vermeiden, das dazu führen würde, dass eine separate Komponente versucht, sich für eine Transaktion einzutragen, für die bereits ein Timeout aufgetreten ist.
Wenn Sie die SQL Server-Konfigurationsoption "lightweight pooling" (auch als "Fibermodus" bezeichnet) aktiviert haben, sollten Sie sie wieder deaktivieren. Prüfen Sie, ob der Fehler weiterhin auftritt.
Wenn Sie die SQL Server-Konfigurationsoption "Prioritätserhöhung" aktiviert haben, sollten Sie sie wieder deaktivieren. Prüfen Sie, ob der Fehler weiterhin auftritt.
Lesen Sie den Microsoft Knowledge Base-Artikel 307802, um festzustellen, ob Ihre Umgebung genau der im Artikel beschriebenen Umgebung entspricht. Falls eine exakte Übereinstimmung gegeben ist, sollten Sie testweise einen der Umgebungsfaktoren ändern, um festzustellen, ob die Meldung weiterhin angezeigt wird. Wenn die Meldung nicht mehr angezeigt wird, sobald die Umgebung nicht mehr der im Artikel beschriebenen Umgebung entspricht, wissen Sie, dass Sie die Fehlermeldung problemlos ignorieren können.
Name | Beschreibung | Standardwert |
Aktiviert | Aktiviert oder deaktiviert den Workflow. | Ja |
Priorität | Definiert die Warnungspriorität. | 1 |
Schweregrad | Definiert den Warnungsschweregrad. | 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>