Монитор работоспособности запуска службы координатора распределенных транзакций (Майкрософт) (запустите MSDTC)

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

Knowledge Base article:

Сводка

Запуск службы координатора распределенных транзакций (Майкрософт)

Служба координатора распределенных транзакций (Майкрософт) (MSDTC) координирует транзакции, не учитывая возможные неполадки, поэтому работа фиксируется в виде единой транзакции, даже если охватывает несколько диспетчеров ресурсов на разных компьютерах.

MSDTC — это служба Windows. По умолчанию служба настроена для ручного, а не автоматического управления. Однако большинство приложений запускают ее по мере необходимости. Администратор может запустить службу с помощью средства администрирования служб.

Причины

Нехватка памяти либо отсутствие файлов для службы MSDTC.

Решения

Запуск службы MSDTC (средство диагностики)

Проверьте, хватает ли памяти в системе. В случае нехватки памяти освободите ее, закрыв некоторые приложения.

Файлы могут отсутствовать. Убедитесь в наличии файла Comres.dll, выполнив шаги из процедуры "Проверка наличия Comres.dll в папке System32".

Устранив нехватку памяти и проверив наличие Comres.dll, перезапустите службу MSDTC с помощью шагов из процедуры "Перезапуск MSDTC".

Перезапустите MSDTC

Система сообщает о том, что служба координатора распределенных транзакций (Майкрософт) (MSDTC) обнаружила недопустимый идентификатор класса для компонента моста транзакции.

Администраторы

Для перезапуска MSDTC выполните следующее.

Можно также остановить и перезапустить службу координатора распределенных транзакций (Майкрософт) MSDTC, воспользовавшись следующей процедурой.

Проверка наличия Comres.dll в папке System32

Системе не удалось загрузить файл Comres.dll. Если требуемый файл отсутствует в папке System32 каталога Windows или он поврежден, может возникнуть ошибка.

Администраторы

Чтобы проверить наличие требуемого файла 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
Оповещение о запуске службы координатора распределенных транзакций (Майкрософт) (запустите MSDTC)
Оповещение о запуске службы координатора распределенных транзакций (Майкрософт) (запустите 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>