一、起因
原來安裝過SqlServer 2008 R2,后來不用卸載了(沒清理,單卸載),之后一直通過Navicat遠程連接服務器的SqlServer使用。
前兩天工作需要,又安裝了SqlServer,雖然安裝進程順利,但是安裝之后,通過SqlServer自帶的圖形化管理界面(SqlServer management studio)可以連接,
但是Navicat連接報錯。
報的錯如下圖:
[08001] [Microsoft][SQL Server Native Client 11.0]Registry information is corrupt or missing. Make sure the provider is installed andregistered correctly. (27)
[08001] [Microsoft][SQL Server Native Client 11.0]Client unable to establish connection (27)
[08001] [Microsoft][SQL Server Native Client 11.0]A network-related or instance-specific error has occurred while establishing a connection to SQL Server.
Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured toallow remote connections. For more information see SQL Server Books Online. (0)
原意是指“注冊表信息損壞,客戶端無法建立連接”等意思,但是Navicat剛重裝過,而且連接MySQL正常,所以排除Navicat的問題。
二、解決方式
所以開始懷疑是不是SqlServer安裝的有問題或者沒清理干凈,於是開始清理SqlServer。
- 首先,運行卸載程序,一步步卸載,控制面板所有與SqlServer有關的通通卸載
- 之后,查了一下SqlServer的注冊表清理項,一看真不少。
1.徹底刪除SQL Server: hkey_local_machine/software/Microsoft/MSSQLServer hkey_local_machine/software/Microsoft/Microsoft SQL Server hkey_current_user/software/Microsoft/Microsoft SQL Server hkey_current_user/software/Microsoft/MSSQLServer hkey_local_machine/system/currentcontrolset/control/sessionmanager/pendingfileren ameoperations 2.注冊表中的相關信息刪除: HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/MSDTC HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager中找到PendingFileRenameOperations項目 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/setup刪除ExceptionComponents 3、運行注冊表,刪除如下項: HKEY_CURRENT_USER/Software/Microsoft/Microsoft SQL Server HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer
有一些項目是沒有的,就直接忽略就可以的,只要把有的注冊表刪掉就好了,注意千萬不要刪錯!
刪除之后記得重啟一遍,然后重新安裝,安裝步驟參考的https://zhuanlan.zhihu.com/p/35337198
至此問題應該就沒有了, 都可以正確使用了。