由于原SQL 2005 ENT安裝程序丟失,從SP2升級SP3時出現(xiàn)錯誤,找不到合適的安裝源,卸載時也需要原安裝程序,沒辦法使用Windows Installer Clean Up卸載所有SQL相關(guān)程序,手動刪除注冊表中的SQL鍵值和剩余的殘留文件。當(dāng)使用手中的SQL 2005 標(biāo)準(zhǔn)版安裝時出現(xiàn)以下錯誤。
SQL Server 安裝程序無法連接到數(shù)據(jù)庫服務(wù)進(jìn)行服務(wù)器配置。 錯誤為: [Microsoft][SQL Native Client]客戶端不支持加密。
有關(guān)具體信息,請參閱服務(wù)器錯誤日志和安裝日志。有關(guān)如何查看安裝日志的具體信息,請參閱 SQL Server 聯(lián)機(jī)叢書中的“如何查看安裝日志文件”。
重試多次依然提示此錯誤,在虛擬機(jī)測試安裝正常,估計(jì)SQL Native Client沒有卸載干凈,導(dǎo)致出錯。檢測對比SQL Native Client相關(guān)注冊表,導(dǎo)出虛擬機(jī)的SQL Native Client注冊表,然后導(dǎo)入問題機(jī)器,點(diǎn)擊重試正常繼續(xù)安裝。這里需要把相關(guān)的鍵值改成自己的主機(jī)名。
********************************
indows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0]
"ProtocolsSupported"=hex(7):73,00,6d,00,00,00,74,00,63,00,70,00,00,00,6e,00,70,\
00,00,00,76,00,69,00,61,00,00,00,00,00
"ProtocolOrder"=hex(7):73,00,6d,00,00,00,74,00,63,00,70,00,00,00,6e,00,70,00,\
00,00,00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\GeneralFlags]
"NumberOfFlags"=dword:00000002
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\GeneralFlags\Flag1]
"Label"="Force protocol encryption"
"Value"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\GeneralFlags\Flag2]
"Label"="Trust Server Certificate"
"Value"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\LastConnect]
"server\\sqlexpress"="0:lpc:server\\sqlexpress"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\np]
"DLLname"="SQLNCLI"
"NumberOfFlags"=dword:00000000
"NumberOfProperties"=dword:00000001
"ProtocolName"="Named Pipes"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\np\Property1]
"Name"="Default Pipe"
"Value"="sql\\query"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\sm]
"DLLname"="SQLNCLI"
"NumberOfFlags"=dword:00000000
"NumberOfProperties"=dword:00000000
"ProtocolName"="Shared Memory"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\tcp]
"DLLname"="SQLNCLI"
"NumberOfFlags"=dword:00000000
"NumberOfProperties"=dword:00000003
"ProtocolName"="TCP/IP"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\tcp\Property1]
"Name"="Default Port"
"Value"=dword:00000599
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\tcp\Property2]
"Name"="KEEPALIVE (in milliseconds)"
"Value"=dword:00007530
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\tcp\Property3]
"Name"="KEEPALIVEINTERVAL (in milliseconds)"
"Value"=dword:000003e8
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\VIA]
"DLLname"="SQLNCLI"
"NumberOfFlags"=dword:00000000
"NumberOfProperties"=dword:00000002
"ProtocolName"="VIA"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\VIA\Property1]
"Name"="Default Server Port"
"Value"="0:1433"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\VIA\Property2]
"Name"="Default Client NIC"
"Value"="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\SQL Native Client]
"UsageCount"=dword:00000001
"Driver"="c:\\WINDOWS\\system32\\sqlncli.dll"
"Setup"="c:\\WINDOWS\\system32\\sqlncli.dll"
"APILevel"="2"
"ConnectFunctions"="YYY"
"CPTimeout"="60"
"DriverODBCVer"="09.00"
"FileUsage"="0"
"SQLLevel"="1"
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers]
"SQL Native Client"="Installed"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\Bootstrap\MSIRefCount]
"Uninstall"="{11111111-1111-1111-1111-111111111111},{0BD4AC90-7599-4946-A4BA-9EF751A94765},{C8F010B2-134A-4D94-974C-080847EE7405},{ECFD3691-87C0-4D6F-A056-663DB104B671},{4E6AEBB6-EDB6-437B-AAE7-998599D340AF},{8F891DE6-CC63-4991-9554-917D543B23C0}"
********************************
可能是卸載SQL Native Client時沒有刪除三個相關(guān)文件sqlncli.chm、sqlncli.dll、sqlnclir.rll造成的;由于卸載重裝一次SQL2005需要時間太長,故沒有最終確認(rèn)。安裝SQL2005時還需注意Microsoft .NET Framework 2.0 SP2框架環(huán)境必須正確安裝。