Sql Server遠端連線資料庫時發生“[DBNETLIB][ConnectionOpen(connect()).]SQL Server 不存在或拒絕訪問 ”的情況,原因有很多種,一般情況都是檢查:
1、 防火牆;
2、1433連接埠;
來排除故障,但今天發現有以下情況同樣會造成這個現象。
排除過程:
1、檢查防火牆設定和1433連接埠設定正確;
2、如果出現“找不到網路路徑”的報錯,那麼最好先PING一下它的IP地址。如果PING不通,那麼需要先確認它是否連在網路或者網路連通性是否正常。然後查看是否啟用了防火牆或者屏蔽掉了相應的連接埠。如果PING IP地址是正常的,但PING目標機器的電腦名稱不通,則需要查看是事網路名稱解析有問題。關於如何診斷名稱解析問題,可以先查看是所有用戶端機器有問題還是某一台機器有問題。如果是所有機器的名稱解析都有問題,那麼你需要到網路的DNS或WINS伺服器上檢查了。如果只是某一台機器有問題,你需要先檢查一下hosts和lmhosts檔案;如果正常,可以重新註冊一下DNS名字(ipconfig/reisterdns)。
----正常;
3、如果出現“xxx電腦無法訪問,您可能沒有許可權使用網路資源。請與這台伺服器的管理員聯絡以查明您是否有存取權限”的報錯,這可能是電腦的安全設定被改動過了,導致目標電腦無法被訪問。可以採取以下步驟解決:
---存在這個問題,通過以下方法來解決
a. 開啟“我的電腦”,在菜單上選擇“工具”->“檔案夾選項”->“查看”,清除“使用簡單檔案分享權限設定(推薦)”的選擇。
b. 右鍵點擊“我的電腦”,選擇“管理”,選擇“本機使用者和組”->“使用者”,右鍵點擊Guest使用者,選“屬性”,清除“帳戶已停用”的選擇。
c. 點擊“開始”->“運行”,輸入secpol.msc,選擇左邊的“本地策略”->“使用者權力指派”,雙擊右邊的“從網路訪問此電腦”,保證其中有Everyone,雙擊左邊的“拒絕從網路訪問此電腦”,保證其是空的。
d. 選擇左邊的“本地策略”->“安全選項”,a.確認右邊的“網路訪問:本地帳戶的共用與安全模式”為“經典”;b.確認右邊的“Microsoft網路客戶:為通訊啟用數位簽章(總是)”為“已停用”;c.確認右邊的“Microsoft網路客戶:為通訊啟用數位簽章(如果伺服器允許)”為“已啟用”;d.確認右邊的“Microsoft網路伺服器:為通訊啟用數位簽章(總是)”為“已停用”;e.確認右邊的“Microsoft網路伺服器:為通訊啟用數位簽章(如果伺服器允許)”為“已啟用”。
4、用ODBC串連,結果一切OK。