網路引用:http://www.cnblogs.com/noviceliu/archive/2007/10/22/933134.html
剛剛安裝的資料庫系統,按照預設安裝的話,很可能在進行遠端連線時報錯,通常是錯誤:"在串連到 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和具名管道服務即可解決。
官方協助:
Details |
Product: |
SQL Server |
ID: |
-1 |
Source: |
MSSQLServer |
Version: |
9.0 |
Component: |
SQLEngine |
Message: |
An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 28 - Server doesn't support requested protocol) (Microsoft SQL Server, Error: -1) |
|
Explanation |
The SQL Server client cannot connect to the server. This error could be caused by one of the following reasons: The firewall on the server has refused the connection. A specified SQL Server instance name is not valid. The SQL Server Browser service (sqlbrowser) is not started. |
|
User Action |
To resolve this error, try one of the following actions: Make sure that you have configured the firewall on the server instance of SQL Server to open the SQL Server Browser port. Make sure that the SQL Server Browser service is started on the server. Check the spelling of the SQL Server instance name that is specified in the connection string. Use the SQL Server Surface Area Configuration tool to enable SQL Server to accept remote connections. For more information about the SQL Server Surface Area Configuration Tool, see Surface Area Configuration for Services and Connections. |
解決辦法:我開始是通過瀏覽尋找區域網路伺服器的,最後改成伺服器ip,問題解決!