메모리 부족으로 인해 MSDTC Windows 서비스를 시작하지 못했습니다.

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

Knowledge Base article:

요약

Microsoft Distributed Transaction Coordinator 서비스 시작

MSDTC(Microsoft Distributed Transaction Coordinator) 서비스는 프로세스 중 발생하는 오류에 관계없이 작업이 여러 컴퓨터의 여러 리소스 관리자로 확장되어 있는 경우에도 단일 트랜잭션으로 커밋되도록 트랜잭션을 조정합니다.

MSDTC는 Windows 서비스입니다. 서비스는 기본적으로 자동 서비스가 아니라 수동 서비스로 구성됩니다. 그러나 대부분의 응용 프로그램은 필요에 따라 요청 시 서비스를 시작합니다. 필요한 경우 관리자는 서비스 관리 도구를 사용하여 서비스를 시작할 수 있습니다.

원인

사용 가능한 시스템 메모리가 부족합니다.

해결 방법

시스템 메모리 확보

일부 응용 프로그램을 닫아 메모리를 확보합니다.

응용 프로그램을 닫아 추가 메모리를 확보했으면 MSDTC(Microsoft Distributed Transaction Coordinator) 서비스를 다시 시작합니다.

관리자

MSDTC를 다시 시작하려면

MSDTC를 중지했다가 다시 시작하려면

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 서비스 시작 경고(시스템 메모리 확보)
Microsoft Distributed Transaction Coordinator 서비스 시작 경고(시스템 메모리 확보)
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MSDTC.10.0.MicrosoftDistributedTransactionCoordinatorServiceStartup.Application.Freeupsystemmemory" 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.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>