重要說明:本文包含有關修改注冊表的信息。修改注冊表之前,一定要備份注冊表,並且一定要知道在發生問題時如何還原注冊表。有關如何備份、還原和編輯注冊表的信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
256986 Microsoft Windows 注冊表說明
本任務的內容
概要
解決連接問題
驗證 DNS 設置
驗證啟用的協議和別名
驗證 SQL Server 實例正在正確地偵聽
解決 MDAC 問題
解決防火牆問題
解決身份驗證和安全問題
解決 TCP/IP 套接字上的壓力問題
查看 SQL Server 實例是否以單用戶模式啟動
驗證到 SQL Server 的命名管道連接
解決在恢復過程中連接超時的問題
測試連接到 SQL Server 實例的不同方法
捕捉網絡監視器蹤跡
參考
概要
本文能幫助您解決 Microsoft SQL Server 2000 的連接問題。本文描述了常見連接問題和所能采取的有助於解決連接問題的步驟。
SQL Server 2000 支持 SQL Server 實例和客戶端應用程序間的多種通信方式。如果您的客戶端應用程序和 SQL Server 實例位於同一台計算機上,那麼 Microsoft Windows 處理之間的通訊 (IPC) 部件(例如本地命名管道或共享內存協議)將被用於通信。但是,當客戶端應用程序和 SQL Server 實例位於不同計算機上時,一個網絡 IPC(例如 TCP/IP 或命名管道)將被用於通信。
SQL Server 2000 使用網絡庫(一個 DLL)與特定的網絡協議進行通信。一對匹配網絡庫必須在客戶端計算機上激活,而且在支持待用網絡協議的服務器計算機上也必須是激活的。例如,如果您想啟用一個客戶端應用程序,通過 TCP/IP 與某個特定的 SQL Server 實例通信,那麼客戶端的 TCP/IP 套接字網絡庫 (Dbnetlib.dll) 就必須配置為連接到客戶端計算機的服務器。同樣,服務器 TCP/IP 套接字網絡庫 (Ssnetlib.dll) 必須偵聽服務器計算機。在此方案中,TCP/IP 協議堆棧必須同時安裝在客戶端計算機和服務器計算機上。
在安裝完 SQL Server 2000 之後,您可以通過客戶端網絡實用程序來配置客戶端網絡庫的屬性。您可以通過服務器網絡實用程序 (Svrnetcn.exe) 來配置服務器網絡庫的屬性。在安裝 SQL Server 安裝程序中的服務器工具時,服務器的網絡庫也同時被安裝了。但是,某些服務器的網絡庫可能未被激活。在默認情況下,SQL Server 2000 啟用並偵聽 TCP/IP、命名管道和共享內存。因此,如果一個客戶端要連接到一台服務器計算機,該客戶端必須使用一個客戶端網絡庫,該網絡庫須與 SQL Server 實例正在使用的服務器網絡庫之一相匹配。
有關 SQL Server 通訊部件和網絡庫的其他信息,請參見“SQL Server 在線參考書”中的下列主題:
通信部件
客戶端和服務器網絡庫
管理客戶端
返回頁首
解決連接問題
在 SQL Server 2000 中您可能會注意到的大多數連接問題都是由 TCP/IP 的問題或 Windows 身份認證的問題引起,或者由兩者共同引起。
重要說明:在開始解決 SQL Server 2000 的連接問題之前,請確認 MSSQLServer 服務已在運行 SQL Server 的計算機上啟動。
返回頁首
驗證 DNS 設置
域名系統 (DNS) 中的名稱解析過程用於解析 SQL Server 實例名稱的 IP 地址。如果名稱解析過程工作不正常,就不能獲得 SQL Server 實例,您可能會收到一條或多條下列錯誤信息:
SQL Server does not exist or Access denIEd
General Network Error
Cannot Generate SSPI Context
要驗證名稱解析過程是否在解析正確的服務器,可以使用服務器名和服務器的 IP 地址 ping 服務器。為此,請按以下步驟操作:
單擊“開始”,然後單擊“運行”。
在“運行”對話框中,在“打開”框中鍵入 cmd,然後單擊“確定”。
在命令提示符下,運行下列命令:
ping
記錄返回的 IP 地址。
在命令提示符下,運行下列命令(此處的 IP address 就是您在步驟 3 中記錄的 IP 地址):