剛剛安裝的數據庫系統,按照默認安裝的話,很可能在進行遠程連接時報錯,通常是錯誤:"在連接到 SQL Server 2005 時,在默認的設置下 SQL Server 不允許進行遠程連接可能會導致此失敗。 (provider: 命名管道提供程序, error: 40 - 無法打開到 SQL Server的連接) ",現在針對此問題總結如下:
明白了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”創建例外。下面是幾個具體的操作方式:
在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:ProgramFilesMicrosoft FilesMicrosoft SQL Server MSSQL.1 MSSQLBinnsqlservr.exe”,
單擊“確定”返回
注意 : 路徑可能會根據 SQL Server 2005 安裝不同而不同。 MSSQL.1 是占位符,對應數據庫實例ID。
◆4.對每個需要打開遠程訪問的SQL Server 2005 實例,重復步驟 1 至 3。
在Windows 防火牆中為“SQLBrowser”創建例外
◆1.在 Windows 防火牆設置界面中,選擇“ 例外” 選項卡,然後單擊“添加程序”
◆2.在“添加程序窗口”中單擊“浏覽”
◆3.然後找到“C:ProgramFilesMicrosoft FilesMicrosoft SQL Server90Sharedsqlbrowser.exe”,
單擊“確定”返回
注意 :路徑可能會根據 SQL Server 2005 安裝不同而不同。在使用.Net開發進行時,會遇到使用連接字符串連接SQL Server 2005數據庫使用機器名稱和localhost都能連接,但是使用IP地址卻不能連接的問題,解決的辦法是在SQL Server實例上啟用本地和遠程連接,並且在選擇協議的時候使用TCP/IP和命名管道服務即可解決。