常見的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 即可。