在與sql server 建立連接時出現與網絡相關的或特定於實例的錯誤
剛剛安裝的數據庫系統,按照默認安裝的話,很可能在進行遠程連接時報錯,通常是錯誤:"在連接到 SQL Server 2005 時,在默認的設置下 SQL Server 不允許進行遠程連接可能會導致此失敗。 (provider: 命名管道提供程序, error: 40 - 無法打開到 SQL Server 的連接) "搜MSDN,上面有一片機器翻譯的文章,是在讓人難以明白,現在總結如下:明白了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和命名管道服務即可解決。
posted @