看板 Database 關於我們 聯絡資訊
※ 引述《pyrochlore (患得患失)》之銘言: : 大家好 : 我的電腦Window XP SP2 : 灌了VS2005 以及 sql server 2005 express : 可以從遠端用SQL server management express連線 : 並做資料庫的修改 : 可是要用ASP.NET程式從別的主機對這台主機作資料存取 : 總是出現 : 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: 26 - Error Locating Server/Instance : Specified) : 網路上有人提到連線字串中的Data Source要寫成 : xxx.xxx.xxx.xxx\SQLEXPRESS : 試了也是沒用 : 在命令提示字元輸入net start | findstr /i sql後 : 出現SQL Server <SQLEXPRESS> 以及 SQL Server Browser : 所以服務應該有開啟 : 輸入netstat -a 有出現 : TCP xxxx:ms-sql-s xxxx:0 LISTENING : 所以1433 port 應該是有在聽 : 到底是甚麼問題阿?? : 麻煩有經驗的版友救一下吧 : 已經弄了一個禮拜了... 我自己也曾經為了這個問題搞了很久,浪費很多時間,希望這篇能幫上忙。 我的狀況是我可以在ASP.Net程式裡面透過Windows帳號驗證連上本地端的 SQL Server 2005 Express(一切都沿用預設值),但是在ASP程式裡面, 要透過以前連上SQL Server 2000的方式連上2005Express的時候,就怎麼樣 都連不上。你的狀況是要在ASP.Net程式從遠端建立連線,作法應該相同。 SQL Server 2005安裝預設值下,遠端連線是被關閉的(透過TCP/IP連接 本地端的SQL Server 2005也不會通)。以下是開啟的方式: 1. 在SQL Server組態管理員裡面,打開SQL Server 2005網路組態-> SQLEXPRESS的通訊協定,將TCP/IP啟用(按右鍵選啟用)。 2. 在同樣的位置,按右鍵選內容。在TCP/IP內容視窗中,選IP位址這頁。 3. 在這裡會看到一個或者多個IP位址設定,請確認你要用來連接的IP 位址的設定值是這樣: IP位址:XXX.XXX.XX.XX <== 要傾聽的的IP位址 TCP動態通訊埠:(空白)<== 此處原本是0,請改成空白。 TCP通訊埠:1433 <== 或者其他通訊埠,記得防火牆要開。 已啟用:是 使用中:是 其中TCP動態通訊埠這裡特別重要,我找到的很多文章都沒提到這點。 原本值是0,代表會使用TCP動態通訊埠,每一次SQL Server 2005重新   啟動的時候都會選用不同的通訊埠,這造成你在遠端連線時必須知道   目前使用的是哪個通訊埠號碼並且指定在連線字串裡面。在這個狀態 下,你必須同時啟動SQL Server Browser服務。但是我在啟用此服務 的狀況下卻還是無法透過TCP/IP連上... 因此停用動態通訊埠(TCP動態通訊埠從0改為空白),可能是比較 好的作法(使用動態通訊埠也會讓防火牆設定變得非常困難)。 這時候你應該可以從遠端(或者本地端)透過TCP/IP連上了。如果這時候 出現類似「此使用者帳號不允許建立受信任的連線」之類的錯誤訊息, 請將這個SQL Server 2005 Express的執行個體的伺服器驗證模式從原本的 Windows驗證模式(預設值),改為SQL Server與Windows驗證模式。 在Windows驗證模式下,是不能透過你在SQL Server裡面建立的使用者帳號 建立連線的。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.153.19
jameswiki:express*版才預設關閉吧..企業版有嗎? 04/24 23:01
slalala:建議改PORT 已經有專門攻擊SQL SERVER 預設P埠的 worm了 04/27 03:11