error: 40 - 無法打開到 SQL Server 的連接

錯誤:在連接到 SQL Server 2005 時,在默認的設置下 SQL Server 不允許進行遠程連接可能會導致此失敗。 (provider: 命名管道提供程序, error: 40 - 無法打開到 SQL Server 的連接) 
 
解決方法:
1. 數據庫引擎沒有啓動。
有兩種啓動方式:
(1)開始->程序->Microsoft SQL Server 2005->SQL Server 2005外圍應用配置器,在打開的界面單擊"服務的連接的外圍應用配置器",在打開的界面中找到Database Engine,單擊"服務",在右側查看是否已啓動,如果沒有啓動可單擊"啓動",並確保"啓動類型"爲自動,不要爲手動,否則下次開機時又要手動啓動;
(2)可打開:開始->程序->Microsoft SQL Server 2005->配置工具->SQL Server Configuration Manager,選中SQL Server 2005服務中SQL Server(MSSQLSERVER) ,並單擊工具欄中的"啓動服務"按鈕把服務狀態改爲啓動;
使用上面兩種方式時,有時候在啓動的時候可能會出現錯誤,不能啓動,這時就要查看"SQL Server 2005配置管理器"中的SQL Server 2005網絡配置->MSSQLSERVER協議中的VIA是否已啓用,如果已啓用,則把它禁止.然後再執行上述一種方式操作就可以了.
2. 是否已經允許遠程連接。
這個部分可以簡單的分爲4個方面,分別是在 SQL Server上啓用遠程連接、啓用SQL Server 瀏覽服務、在Windows 防火牆中爲SQL Server 2005 創建例外和在Windows 防火牆中爲“SQLBrowser”創建例外。下面是幾個具體的操作方式,摘自MSDN,個人覺得文章的黑體部分應當特別的一起我們的注意。
在SQLServer 實例上啓用遠程連接
1.指向“開始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外圍應用配置器”
2.在“SQL Server 2005 外圍應用配置器”頁, 單擊“服務和連接的外圍應用配置器”
3.然後單擊展開“數據庫引擎”, 選中“遠程連接”,在右邊選中“本地連接和遠程連接”,
再選擇要使用的協議,( 這個地方應當啓用TCP/IP 和命名管道服務!)單擊“應用”,您會看到下消息:
“直到重新啓動數據庫引擎服務後,對連接設置所做的更改纔會生效。”,單擊“確定”按鈕返回。
4.展開“數據庫引擎”, 選中“服務”,在右邊單擊“停止”,等到 MSSQLSERVER 服務停止,然後單擊“啓動”,重新啓動MSSQLSERVER 服務。
啓用 SQLServer 瀏覽器服務
1.指向“開始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外圍應用配置器”
2.在“SQL Server 2005 外圍應用配置器”頁, 單擊“服務和連接的外圍應用配置器”
3.然後單擊展開“SQL Server Browser”, 選中“服務”,在右邊“啓動類型”選擇“自動”,
再單擊“啓動”,單擊“確定”按鈕返回。
在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。
在Windows 防火牆中爲“SQLBrowser”創建例外
1.在 Windows 防火牆設置界面中,選擇“ 例外” 選項卡,然後單擊“添加程序”
2.在“添加程序窗口”中單擊“瀏覽”
3.然後找到“C:\ProgramFiles\Microsoft Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe”,
單擊“確定”返回
注意 : 路徑可能會根據 SQL Server 2005 安裝不同而不同。

在使用.NET開發進行時,會遇到使用連接字符串連接SQL Server 2005數據庫使用機器名稱和localhost都能連接,但是使用IP地址卻不能連接的問題,解決的辦法是在SQL Server實例上啓用本地和遠程連接,並且在選擇協議的時候使用TCP/IP和命名管道服務即可解決。
發佈了28 篇原創文章 · 獲贊 1 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章