昨天在安裝SQL 2005 RTM的時候碰到了這樣一個錯誤:
Microsoft SQL Server 2005 Setup
------------------------------
The SQL Server System Configuration Checker cannot be executed due to WMI configuration on the machine XXXX Error:2147749896 (0x80041008).
For help, click: http://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.06&EvtSrc=setup.rll&EvtID=70342
------------------------------
BUTTONS:
OK
------------------------------
之前安裝了N次都沒有碰到,而機器也是干淨的,新安裝的英文Windows Server 2003 with lastest Patchs。錯誤信息裡面的Link也沒有提供任何可利用的信息。
從錯誤信息來看好像是WMI損壞了,於是Google一下,發現有一個解決方法:Re-installing WMI ,裡面提到是因為更新2K3最新補丁造成的這個錯誤:The cause of this error is a corrupt install of WMI, caused by upgrading Windows Server 2003 to SP1 build 1277,雖然他針對的是CTP版本。但是發現根本不能運行。
我的2K3是SP1 build 1447,仍然出現這個錯誤。
幸運的是終於找到了一個Fix WMI的Script腳本,運行之後就好了:
FIXWMI.CMD
------------------------
@echo on
cd /d c:\temp
if not exist %windir%\system32\wbem goto TryInstall
cd /d %windir%\system32\wbem
net stop winmgmt
winmgmt /kill
if exist Rep_bak rd Rep_bak /s /q
rename Repository Rep_bak
for %%i in (*.dll) do RegSvr32 -s %%i
for %%i in (*.exe) do call :FixSrv %%i
for %%i in (*.mof,*.mfl) do Mofcomp %%i
net start winmgmt
goto End
:FixSrv
if /I (%1) == (wbemcntl.exe) goto SkipSrv
if /I (%1) == (wbemtest.exe) goto SkipSrv
if /I (%1) == (mofcomp.exe) goto SkipSrv
%1 /RegServer
:SkipSrv
goto End
:TryInstall
if not exist wmicore.exe goto End
wmicore /s
net start winmgmt
:End
如果你碰巧也遇到了這個問題,不妨看看能否解決?