Distributed Transaction Coordinator 服务因 3221229584 (0xC0001010) 服务性错误而停止

Distributed Transaction Coordinator 服务因 3221229584 (0xC0001010) 服务性错误而停止。
2007-06-10 15:13

问题解决:

 

setp 1

 

停止相关服务

 

MSDTC_1.bat

 

@echo off
if {%1}=={} @echo Syntax: MSDTC1 Filename&goto :EOF
setlocal ENABLEDELAYEDEXPANSION
set filename=%1
if exist %filename% del /q %filename%
(
@echo Alerter
@echo EventSystem
@echo Browser
@echo TrkWks
@echo Dnscache
@echo Eventlog
@echo PolicyAgent
@echo dmserver
@echo Messenger
@echo Netlogon
@echo NtLmSsp
@echo Netman
@echo PlugPlay
@echo RpcSs
@echo RpcLocator
@echo NtmsSvc
@echo SamSs
@echo lanmanserver
@echo SENS
@echo Schedule
@echo LmHosts
@echo winmgmt
@echo Wmi
@echo W32Time
@echo lanmanworkstation
)>"%TEMP%/MSDTC1.TMP"
call :stopdtc>nul 2>&1
for /f "Tokens=*" %%L in ('reg query HKLM/System/CurrentControlSet/Services^|FINDSTR /I /B /L /C:"HKEY_LOCAL_MACHINE"') do (
set line=%%L
set key=HKLM!LINE:~18!
call :subkey "!key!"
call :testsvc
)
endlocal
goto :EOF
:stopdtc
sc stop msdtc
goto :EOF
:testsvc
for /f "Tokens=*" %%c in ('@echo !svc!^|findstr /I /B /E /L /G:"%TEMP%/MSDTC1.TMP"') do goto :EOF
set /a start=3
set /a type=0
call :getstart>nul 2>&1
call :gettype>nul 2>&1
if %type% LSS 16 goto :EOF
if %start% NEQ 2 goto :EOF
sc config !svc! start= demand
@echo sc config !svc! start= auto>>%filename%
goto :EOF
:gettype
for /f "Tokens=2,3" %%x in ('reg query "HKLM/System/CurrentControlSet/Services/!svc!" /V type^|FIND "REG_DWORD"') do (
set /a type=%%y
)
goto :EOF
:getstart
for /f "Tokens=2,3" %%x in ('reg query "HKLM/System/CurrentControlSet/Services/!svc!" /V start^|FIND "REG_DWORD"') do (
set /a start=%%y
)
goto :EOF
:subkey
set svc=%~nx1

 

重启机器

 

step 2

 

删除关联的注册表项及重新安装msdtc组件

 

MSDTC_2.bat

 

@echo off
setlocal
@echo %WINDIR%/System32/msdtc.exe -uninstall
%WINDIR%/System32/msdtc.exe -uninstall
call :delkey "HKCR/CID"
call :delkey "HKLM/SYSTEM/CurrentControlSet/Services/MSDTC"
call :delkey "HKLM/SYSTEM/ControlSet001/Services/MSDTC"
call :delkey "HKLM/SYSTEM/ControlSet002/Services/MSDTC"
call :delkey "HKLM/Software/Microsoft/MSDTC"
@echo %WINDIR%/System32/msdtc.exe -install
%WINDIR%/System32/msdtc.exe -install
endlocal
goto :EOF
:delkey
set key=%1
call :delkeyq %key% >nul 2>&1
@echo.
goto :EOF
:delkeyq
REG DELETE %key% /F

 

step 3

 

restlog

 

MSDTC_3.bat

 

@echo off
if {%1}=={} @echo Syntax: MSDTC3 Filename&goto :EOF
if not exist %1 Syntax: MSDTC3 Filename - %1 was NOT found.&goto :EOF
setlocal
set filename=%1
for /f "Tokens=*" %%r in ('type %filename%') do (
%%r
)
reg add "HKLM/SOFTWARE/Microsoft/MSDTC/XADLL" /F
regsvr32 mtxoci.dll
endlocal

 

运行完,看看日志

 

已成功安装 Microsoft Distributed Transaction Coordinator 服务。
 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值