メモリ不足のため、MSDTC Windows サービスを開始できませんでした

Microsoft.MSDTC.6.3.MicrosoftDistributedTransactionCoordinatorServiceStartup.Application.Freeupsystemmemory (UnitMonitor)

Knowledge Base article:

概要

Microsoft 分散トランザクション コーディネーター サービスのスタートアップ

Microsoft 分散トランザクション コーディネーター サービス (MSDTC) は、処理の間にエラーが発生したかどうかにかかわらずトランザクションを調整するサービスです。これにより、いくつものコンピューターでいくつものリソース マネージャーにわたって行われている作業でも、1 つのトランザクションとしてコミットできます。

MSDTC は、Windows サービスです。このサービスは、既定では自動ではなく手動のサービスとして構成されています。ところが、ほとんどのアプリケーションでは、必要に応じてこのサービスを開始しています。管理者は、必要に応じてサービス管理ツールからこのサービスを開始できます。

原因

使用可能なシステム メモリが少なくなっています。

解決方法

システム メモリを解放する

アプリケーションをいくつか閉じて、メモリを解放します。

アプリケーションを閉じてメモリが解放されたら、Microsoft 分散トランザクション コーディネーター サービス (MSDTC) を再起動します。

管理者

MSDTC を再起動する手順は、次のとおりです。

MSDTC を停止してから再起動することもできます。手順は次のとおりです。

Element properties:

TargetMicrosoft.MSDTC.6.3.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 分散トランザクション コーディネーター サービスのスタートアップのアラート (システム メモリを解放する)
Microsoft 分散トランザクション コーディネーター サービスのスタートアップのアラート (システム メモリを解放する)
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MSDTC.6.3.MicrosoftDistributedTransactionCoordinatorServiceStartup.Application.Freeupsystemmemory" Accessibility="Public" Enabled="onEssentialMonitoring" Target="Microsoft.MSDTC.6.3.Servers" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.MSDTC.6.3.MicrosoftDistributedTransactionCoordinatorServiceStartup.Application.Freeupsystemmemory.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="Negative" 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>
<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>4103</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>