天天看點

"SQL Server 不存在或通路被拒絕 "

"SQL   Server   不存在或通路被拒絕 "

這個是最複雜的,錯誤發生的原因比較多,需要檢查的方面也比較多.

一般說來,有以下幾種可能性:

1,SQL   Server名稱或IP位址拼寫有誤

2,伺服器端網絡配置有誤

3,用戶端網絡配置有誤

要解決這個問題,我們一般要遵循以下的步驟來一步步找出導緻錯誤的原因.

=============   首先,檢查網絡實體連接配接   =============

ping   <伺服器IP位址/伺服器名稱>

如果   ping   <伺服器IP位址>   不成功,說明實體連接配接有問題,這時候要檢查硬體裝置,如網卡,HUB,路由器等.

還有一種可能是由于用戶端和伺服器之間安裝有防火牆軟體造成的,比如   ISA   Server.防火牆軟體可能會屏蔽對   ping,telnet   等的響應

是以在檢查連接配接問題的時候,我們要先把防火牆軟體暫時關閉,或者打開所有被封閉的端口.

如果ping   <伺服器IP位址>   成功而,ping   <伺服器名稱>   失敗

則說明名字解析有問題,這時候要檢查   DNS   服務是否正常.

有時候用戶端和伺服器不在同一個區域網路裡面,這時候很可能無法直接使用伺服器名稱來辨別該伺服器,這時候我們可以使用HOSTS檔案來進行名字解析,

具體的方法是:

1.使用記事本打開HOSTS檔案(一般情況下位于C:/WINNT/system32/drivers/etc).

添加一條IP位址與伺服器名稱的對應記錄,如:

172.168.10.24   myserver

2.或在   SQL   Server   的用戶端網絡實用工具裡面進行配置,後面會有詳細說明.

=============   其次,使用   telnet   指令檢查SQL   Server伺服器工作狀态   =============

telnet   <伺服器IP位址>   1433

如果指令執行成功,可以看到螢幕一閃之後光标在左上角不停閃動,這說明   SQL   Server   伺服器工作正常,并且正在監聽1433端口的   TCP/IP   連接配接

如果指令傳回 "無法打開連接配接 "的錯誤資訊,則說明伺服器端沒有啟動   SQL   Server   服務,

也可能伺服器端沒啟用   TCP/IP   協定,或者伺服器端沒有在   SQL   Server   預設的端口1433上監聽.

=============接着,我們要到伺服器上檢查伺服器端的網絡配置,檢查是否啟用了命名管道.是否啟用了   TCP/IP   協定等等   =============

可以利用   SQL   Server   自帶的伺服器網絡使用工具來進行檢查.

點選:程式   --   Microsoft   SQL   Server   --   伺服器網絡使用工具

打開該工具後,在 "正常 "中可以看到伺服器啟用了哪些協定.

一般而言,我們啟用命名管道以及   TCP/IP   協定.

點中   TCP/IP   協定,選擇 "屬性 ",我們可以來檢查   SQK   Server   服務預設端口的設定

一般而言,我們使用   SQL   Server   預設的1433端口.如果選中 "隐藏伺服器 ",則意味着用戶端無法通過枚舉伺服器來看到這台伺服器,起到了保護的作用,但不影響連接配接.

=============   接下來我們要到用戶端檢查用戶端的網絡配置   =============

我們同樣可以利用   SQL   Server   自帶的用戶端網絡使用工具來進行檢查,

所不同的是這次是在用戶端來運作這個工具.

點選:程式   --   Microsoft   SQL   Server   --   用戶端網絡使用工具

打開該工具後,在 "正常 "項中,可以看到用戶端啟用了哪些協定.

一般而言,我們同樣需要啟用命名管道以及   TCP/IP   協定.

點選   TCP/IP   協定,選擇 "屬性 ",可以檢查用戶端預設連接配接端口的設定,該端口必須與伺服器一緻.

單擊 "别名 "頁籤,還可以為伺服器配置别名.伺服器的别名是用來連接配接的名稱,

連接配接參數中的伺服器是真正的伺服器名稱,兩者可以相同或不同.别名的設定與使用HOSTS檔案有相似之處.

通過以上幾個方面的檢查,基本上可以排除第一種錯誤.