Microsoft Distributed Transaction Coordinator 服務啟動健康情況監視器 (啟動 MSDTC)

Microsoft.MSDTC.10.0.MicrosoftDistributedTransactionCoordinatorServiceStartup.Application.StartMSDTC (UnitMonitor)

Knowledge Base article:

摘要

Microsoft Distributed Transaction Coordinator 服務啟動

無論程序中發生失敗與否,Microsoft Distributed Transaction Coordinator 服務 (MSDTC) 都會協調交易,讓工作可以被認可為一筆交易,即使工作跨多部電腦上的多個資源管理員亦是如此。

MSDTC 為 Windows 服務。此服務的預設設定為手動服務,而不是自動服務。大多數應用程式會在需要時要求啟動此服務。如有需要,系統管理員可以使用 [服務] 系統管理工具啟動此服務。

原因

MSDTC 的記憶體不足或缺少檔案。

解決方法

啟動 MSDTC (診斷程式)

檢查系統記憶體是否不足。若記憶體確實不足,請關閉應用程式,以釋放系統記憶體。

也可能是缺少檔案。執行<確認 Comres.dll 位於 System32 資料夾中>中的步驟,確認 Comres.dll 確實存在。

當您解決記憶體不足的問題,並確認 Comres.dll 確實存在之後,請執行<重新啟動 MSDTC>中的步驟重新啟動 MSDTC。

重新啟動 MSDTC

系統回報 Microsoft Distributed Transaction Coordinator 服務 (MSDTC) 偵測到交易橋接器元件的類別識別碼無效。

系統管理員

若要重新啟動 MSDTC:

您也可以改為執行下列步驟,先停止 Microsoft Distributed Transaction Coordinator 服務 (MSDTC) 再重新啟動:

確認 Comres.dll 位於 System32 資料夾中

系統無法載入 Comres.dll 檔案。當 Windows 目錄中的 System32 資料夾缺少必要檔案,或該檔案毀損時,即可能發生此狀況。

系統管理員

若要確認必要檔案 Comres.dll 位於 System32 資料夾中:

Element properties:

TargetMicrosoft.MSDTC.10.0.Servers
Parent MonitorSystem.Health.AvailabilityState
CategoryStateCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Microsoft Distributed Transaction Coordinator 服務啟動警示 (啟動 MSDTC)
Microsoft Distributed Transaction Coordinator 服務啟動警示 (啟動 MSDTC)
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MSDTC.10.0.MicrosoftDistributedTransactionCoordinatorServiceStartup.Application.StartMSDTC" Accessibility="Public" Enabled="true" Target="Microsoft.MSDTC.10.0.Servers" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.MSDTC.10.0.MicrosoftDistributedTransactionCoordinatorServiceStartup.Application.StartMSDTC.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDescription$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="FirstEventRaised" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="SecondEventRaised" HealthState="Error"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>Application</FirstLogName>
<FirstExpression>
<Or>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>Microsoft-Windows-MSDTC</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>4097</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>Microsoft-Windows-MSDTC</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>53283</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Or>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>Application</SecondLogName>
<SecondExpression>
<Or>
<Expression>
<Or>
<Expression>
<Or>
<Expression>
<Or>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>Microsoft-Windows-MSDTC</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>4112</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>Microsoft-Windows-MSDTC</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>4116</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Or>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>Microsoft-Windows-MSDTC</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>4192</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Or>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>Microsoft-Windows-MSDTC</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>4208</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Or>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>Microsoft-Windows-MSDTC</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>4440</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Or>
</SecondExpression>
</Configuration>
</UnitMonitor>