欢迎光临
 
日历
<<  < 2009 - >  >>
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
最新日志
最新评论
最新留言
 
8004E00F错误解决方法

8004E00F错误解决方法
事件查看器显示如下:

Event Type: Error
Event Source: MSDTC
Event Category: SVC
Event ID: 4112
Description: Could not start the MS DTC Transaction Manager.
事件类型:错误
事件来源:MSDTC
事件类别:SVC
事件ID:4112
事件描述:无法启动 MS DTC 事务管理器。

Event Type: Error
Event Source: Service Control Manager
Event Category: None
Event ID: 7024
Description:
The Distributed Transaction Coordinator service terminated with service-specific error 3221229584 (0xC0001010).
事件类型:错误
事件来源:Service Control Manager
事件类别:无
事件ID:7024
事件描述:Distributed Transaction Coordinator 服务因 3221229584 (0xC0001010) 服
性错误而停止。

解决方法1: 

是因为找不到 MS DTC 日志文件。在确认所有由 MS DTC 协调的资源管理器不具有“不

确定”状态的事务之后,请运行 msdtc -resetlog 创建日志文件。

警告: msdtc - resetlog 命令可能导致数据损坏。

解决方法2:

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

运行MSDTC_1.bat之后, 重启计算机


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

运行MSDTC_2.bat

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 服务。

isee5 发表于 2009/3/30 21:42:00 | 阅读全文 | 回复(0) | 引用通告 | 编辑
 
发表评论:
 
     
Powered by Oblog.