在建立與伺服器的串連時出錯。在串連到 SQL Server 2005 時,在預設的設定下 SQL Server 不允許進行遠端連線可能會導致此失敗。
(provider: SQL 網路介面, error: 26 - 定位指定的伺服器/執行個體時出錯) (.Net SqlClient Data Provider) 解決:
步驟1:在SQLServer 執行個體上啟用遠端連線
1.指向“開始->程式->Microsoft SQL Server 2005->組態工具->SQL Server 介面區配置器”
2.在“SQL Server 2005 介面區配置器”頁, 單擊“服務和串連的介面區配置器”
3.然後單擊展開“資料庫引擎”, 選中“遠端連線”,在右邊選中“本地串連和遠端連線”,
再選擇要使用的協議,( 這個地方應當啟用TCP/IP 和具名管道服務!)單擊“應用”,您會看到下訊息:
“直到重新啟動資料庫引擎服務後,對串連設定所做的更改才會生效。”,單擊“確定”按鈕返回
4.展開“資料庫引擎”, 選中“服務”,在右邊單擊“停止”,等到 MSSQLSERVER 服務停止,
然後單擊“啟動”,重新啟動MSSQLSERVER 服務。
步驟2:啟用 SQLServer 瀏覽器服務
1.指向“開始->程式->Microsoft SQL Server 2005->組態工具->SQL Server 介面區配置器”
2.在“SQL Server 2005 介面區配置器”頁, 單擊“服務和串連的介面區配置器”
3.然後單擊展開“SQL Server Browser”, 選中“服務”,在右邊“啟動類型”選擇“自動”,
再單擊“啟動”,單擊“確定”按鈕返回
步驟3:在Windows 防火牆中為“SQL Server 2005”建立例外
1.在 Windows 防火牆設定介面中,選擇“ 例外” 選項卡,然後單擊“添加程式”
2.在“添加程式視窗”中單擊“瀏覽”
3.然後找到“C:/ProgramFiles/Microsoft Files/Microsoft SQL Server/ MSSQL.1 /MSSQL/Binn/sqlservr.exe”,
單擊“確定”返回
注意 : 路徑可能會根據 SQL Server 2005 安裝不同而不同。 MSSQL.1 是預留位置,對應資料庫執行個體ID。
4.對每個需要開啟遠端存取的SQL Server 2005 執行個體,重複步驟 1 至 3。
步驟4:在Windows 防火牆中為“SQLBrowser”建立例外
1.在 Windows 防火牆設定介面中,選擇“ 例外” 選項卡,然後單擊“添加程式”
2.在“添加程式視窗”中單擊“瀏覽”
3.然後找到“C:/ProgramFiles/Microsoft Files/Microsoft SQL Server/90/Shared/sqlbrowser.exe”,
單擊“確定”返回
注意 : 路徑可能會根據 SQL Server 2005 安裝不同而不同。
問題2:現在可能會出現sa不能登陸的問題,解決辦法如下:
用用Windows身分識別驗證登陸,在"屬性"視窗中, 轉到"Security"(安全性)項, 在"伺服器身分識別驗證"中設定為"SQL Server和Windows身分識別驗證模式", 確定,
根據提示, 你應該重新啟動sql服務。
如果執行
EXEC sp_password null,null,'sa'
ALTER LOGIN sa ENABLE
這句話時報如下的錯:
Msg 15118, Level 16, State 1, Line 1
密碼有效性驗證失敗。該密碼不夠複雜,不符合 Windows 策略要求。
則說明你的伺服器的密碼原則有複雜性要求(SQL 2005的密碼複雜性與Windows的密碼複雜性策略是關聯的),則要求你把sa的密碼設定為一個複雜的密碼, 因此得改為如下語句:
EXEC sp_password null, 'guoqiang1234', 'sa'
ALTER LOGIN sa ENABLE
-- sp_password 文法如下:
-- sp_password [舊密碼], <新密碼>, [登入名稱]
問題3:IP地址不能串連
在使用.NET開發進行時,會遇到使用連接字串串連SQL Server 2005資料庫使用機器名稱和localhost都能串連,但是使用IP地址卻不能串連的問題,
解決的辦法是在SQL Server執行個體上啟用本地和遠端連線,並且在選擇協議的時候使用TCP/IP和具名管道服務即可解決。