【常見的SQL Server連線失敗錯誤以及解決方法】

feixianxxx發表於2010-04-24

                                         常見的SQL Server連線失敗錯誤以及解決方法

 

A--SQL Server 不存在或訪問拒絕


錯誤有以下可能:
a.SQL Server名稱或者IP地址拼寫有誤
b.伺服器端網路配置錯誤
c.客戶端網路配置錯誤

 

解決步驟:
1.檢查網路物理連線

ping 伺服器名稱 或者 ping 伺服器ip地址
===》ping 伺服器ip地址失敗 :說明物理連線出問題,需要檢查硬體裝置;需要注意將防火牆關掉,因為它也許會遮蔽你的PING命令
===》ping 伺服器ip地址成功 ping 伺服器名稱失敗:說明伺服器名稱有問題。如果伺服器和客戶端不在同一區域網內,很可能無法直接使用伺服器名稱標誌伺服器。

2.使用Telnet命令檢查SQL Server伺服器工作狀態
Telnet 伺服器IP地址 14323(預設埠號)
===>如果有“無法開啟連線”的資訊,說明你的SQL Server服務沒開啟,或者你的TCP/IP協議沒有啟用,或者你的伺服器沒有在埠1433上監聽

3.檢查伺服器端的網路配置,看是否啟用命名管道,是否啟用TCP/IP協議
這個可以在不同版本的SQL Server自帶的工具管理器裡找到,比如2000是伺服器網路使用工具 2008是SQL Server配置管理器

4.檢查客戶端的網路配置,檢視使用的協議
一般需要啟用命名管道;

 

 

 

B--使用者sa登入失敗

錯誤有以下可能:
1.你的登入身份為“僅WINDOWS身份登入”
2.你改完登入方式後,設定賬戶後沒有執行sp_password

 

第一個原因解決方法:以2000為例:
  1.在伺服器端使用企業管理器,並且選擇"使用 Windows 身份驗證"連線上 SQL Server
  2.展開"SQL Server組",滑鼠右鍵點選SQL Server伺服器的名稱,選擇"屬性",再選擇"安全性"選項卡
  3.在"身份驗證"下,選擇"SQL Server和 Windows ".
  4.重新啟動SQL Server服務.
  在以上解決方法中,如果在第 1 步中使用"使用 Windows 身份驗證"連線 SQL Server 失敗,那就通過修改登錄檔來解決此問題:
  1.點選"開始" "執行",輸入regedit,回車進入登錄檔編輯器
  2.依次展開登錄檔項,瀏覽到以下注冊表鍵:
  [HKEY_LOCAL_MACHINESOFTWARE Microsoft MSSQLServer MSSQLServer]
  3.在螢幕右方找到名稱"LoginMode",雙擊編輯雙位元組值
  4.將原值從1改為2,點選"確定"
  5.關閉登錄檔編輯器
  6.重新啟動SQL Server服務;

--OR

USE [master]

GO  EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software/Microsoft/MSSQLServer/MSSQLServer', N'LoginMode', REG_DWORD, 2 GO

 此時,使用者可以成功地使用sa在企業管理器中新建SQL Server註冊,但是仍然無法使用Windows身份驗證模式來連線SQL Server。這是因為在 SQL Server 中有兩個預設的登入帳戶:BUILTINAdministrators 以及<機器名>Administrator 被刪除。要恢復這兩個帳戶,可以使用以下的方法:

  1、開啟企業管理器,展開伺服器組,然後展開伺服器;

  2、展開"安全性",右擊"登入",然後單擊"新建登入";

  3、在"名稱"框中,輸入 BUILTINAdministrators;

  4、在"伺服器角色"選項卡中,選擇"System Administrators" ;

  5、點選"確定"退出;

  6、使用同樣方法新增 <機器名>Administrator 登入。

  以下注冊表鍵

HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSSQLServerMSSQLServerLoginMode

  的值決定了SQL Server將採取何種身份驗證模式。該值為1,表示使用Windows 身份驗證模式;該值為2,表示使用混合模式(Windows 身份驗證和 SQL Server 身份驗證)。

第二個原因解決方法:SQL Server2005為例
1.登陸設定改為,Sql server and windows Authentication方式同時選中,
具體設定如下:
    manage管理器->windows Authentication(第一次用windows方式進去),->物件資源管理器中選擇你的資料伺服器--右鍵>屬性>security>Sqlserver and windows Authentication方式同時選中.

2:設定一個Sql server方式的使用者名稱和密碼,具體設定如下:
    manage管理器->windows Authentication>new query>sp_password null,'sa123456','sa'  這樣就設定了一個使用者名稱為sa ,密碼為:sa123456的使用者,下次在登陸時,可以用Sql server方式,      使用者名稱為sa ,密碼為:sa123456的使用者進資料庫了.
3:用SSMS執行的 sp_password null,'sa123456','sa'    然後重新啟動SQL;

 

 

C--連線超時


如果遇到這樣的錯誤,一般而言表示客戶端已經找到了這臺伺服器,並且可以進行連線,不過是由於連線的時間大於允許的時間而導致出錯。
這種情況比較少見,一般發生在當使用者在Internet上執行企業管理器來註冊另外一臺同樣在Internet上的伺服器,並且是慢速連線時,有可能會導致以上的超時錯誤。
有些情況下,由於區域網的網路問題,也會導致這樣的錯誤。

 

要解決這樣的錯誤,可以修改客戶端的連線超時設定。預設情況下,通過企業管理器註冊另外一臺SQL Server的超時設定是 4 秒,而查詢分析器是 15 秒。
具體步驟為:
企業管理器中的設定:
    1、在企業管理器中,選擇選單上的"工具",再選擇"選項";
    2、在彈出的"SQL Server企業管理器屬性"視窗中,點選"高階"選項卡;
    3、在"連線設定"下的"登入超時(秒)"右邊的框中輸入一個比較大的數字,如 30。
    查詢分析器中的設定:
    單擊“工具”->"選項"->"連線"; 將登入超時設定為一個較大的數字,連線超時改為0

 

D-登入的1069錯誤:


症狀:
 由於更改了你的計算機名字,再次啟動時,就會發生“由於登入失敗而無法啟動服務”的情況。
解決方法:
 1.改回你的計算機名字;
 2.使用控制皮膚,找到MS SERVER服務,更改啟動賬號資訊到安裝時候的資訊,再啟動服務;
 3.建立一個使用者,專門用於啟動服務,安裝SQL的時候就用該使用者啟動SQL Server,這樣可以避免頻繁更改administrator帶來的1069錯誤。
   即使已經安裝好了SQL Server,你也可以在控制皮膚下的服務裡的服務賬號資訊更改到那個專門啟動的使用者。

 

E-連線sql server 200518452/18456錯誤

參看http://blog.csdn.net/cxin917/archive/2010/05/02/5549935.aspx

      http://www.gishr.com/blog/u/mygis/archives/2007/116.html

 

F-SQL Server 2005 錯誤233的解決辦法

 

    

G-Sql Server Express 2005無法使用SA使用者登陸解決

 

在安裝VS2008/2005(我機器上安裝的VS2008)時會預設把SQL SERVER Express 2005安裝上,

預設安裝時並沒有開啟遠端連線及SA使用者登陸功能

無法使用SA使用者登陸解決方案
解決方法如下,打Microsoft Sql Server Management Studio Express,以windows驗證方式登陸,開啟伺服器屬性視窗(在資料庫伺服器圖示上點右鍵選"屬性"),選擇"安全性"選項,

伺服器驗證方式選擇SQL SERVERTT和windows驗證方式,確認

然後再到"安全性-登陸名"處設定SA使用者屬性,
設定密碼

解決方法:開啟“開始—所有程式—Microsoft SQL Server 2005 —配置工具—SQL Server 配置管理器”,在彈出的窗體中,找到“SQL Server 2005 網路配置”,把“MSSQLSERVER的協議”下的“Named Pipes”和“TCP/IP”啟用,然後重新啟動SQL Server 即可。

相關文章