1. 程式人生 > >SQL Server 不存在或訪問被拒絕

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檔案有相似之處.        
           
           
      通過以上幾個方面的檢查,基本上可以排除第一種錯誤.        
  檢查你的SQL有沒有打補丁,沒有的話要打上補丁,檢查的方法是在查詢分析器中執行:        
          select       @@version        
          如果出來的版本號是8.00.2039以下,則表明你未安裝sp4的補丁,要裝上.        
           
      SQL補丁下載:        
      全部補丁的位置(在下載頁的中間部分,可以選擇語言,以下載和sql       server例項語言對應的補丁)        
      http://www.microsoft.com/downloads/details.aspx?FamilyId=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5&displaylang=zh-cn        
      應該安裝的是        
      http://download.microsoft.com/download/9/b/f/9bff6646-2cdb-4069-ada0-548be9cb9338/SQL2000-KB884525-SP4-x86-CHS.EXE        
      注意下載後,執行的時候是解壓,要在解壓後的目錄中執行setup.bat才是真正的安裝        
           
           
      如果你的作業系統是xp,那麼在安裝xp       sp2後,不管以前是否安裝過sql       sp4,都要再安裝一次,並且在防火牆中開啟1433埠,否則無法被其他電腦訪問