2011-08-26 156 views
1

我試圖遠程連接到運行Windows Server 2008 R2的服務器上的SQL Server 2008 R2 Express。我收到以下錯誤:用於遠程連接到SQL Server 2008的連接字符串

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)

我認爲這個問題可能與我的連接字符串有關,因爲我不確定它應該是什麼。我理解的連接字符串應採取的形式:

Data Source=123.123.123.123\InstanceName;Initial Catalog=MyDBName;user id=MyUserName;password=MyPassword; 

我的SQL Server安裝的實例名稱的形式爲ComputerName\SQLEXPRESS。這是我在服務器上登錄Management Studio時看到的內容。所以連接字符串應該以

Data Source=123.123.123.123\ComputerName\SQLEXPRESS 

這看起來不對,因爲所有的斜線。我試圖忽略這樣的計算機名稱:

Data Source=123.123.123.123\SQLEXPRESS 

我也是在其他地方見過,你可以指定一個端口,所以我自己也嘗試

​​

,因爲據我所知,1433所使用的TCP端口SQL Server和

Data Source=123.123.123.123,1434\SQLEXPRESS 

,因爲據我所知,1434是SQL Server的瀏覽器使用的UDP端口。

我也試過這些的每一個組合,他們都給出了同樣的錯誤。

這些都是我已在服務器上啓用遠程瀏覽的步驟:

  1. 在Management Studio中,右鍵單擊該實例,選擇屬性,安全性和檢查SQL Server和Windows身份驗證模式。在連接選項卡上,我選中了「允許遠程連接到這臺計算機」。

  2. 在SQL Server配置管理器中,我已啓用所有四個連接選項(共享內存,命名管道,TCPIP和Via),它們發生在每個節點下。在SQL Express的協議下,我嘗試過指定端口1433,並在TCP動態端口設置爲0(我認爲是爲了啓用動態端口)時將其留空。

  3. 我爲TCP端口1433,UDP端口1434和程序例外sqlservr.exesqlbrowser.exe創建了防火牆例外。

如果有人能告訴我這四個版本,我應該使用這將是一個很大的幫助,即使它並沒有解決問題的連接字符串的數據源部分組成。這意味着我隨後嘗試的所有事情,我只需要測試一次而不是四次。

在此先感謝您的幫助!

+0

你應該使用這個:Data Source = 123.123.123.123 \ SQLEXPRESS。如果您在本地嘗試連接,連接是否正常工作? –

+0

如果您發佈代碼,XML或數據樣本,**請**在文本編輯器中突出顯示這些行,然後單擊編輯器工具欄上的「代碼樣本」按鈕(「{}」)以精確地格式化和語法突出顯示它!如果您發佈錯誤消息,請**使用blockquotes('「')來正確格式化錯誤消息。 –

回答

1

您是在哪裏輸入防火牆例外,在您的機器上,在服務器上還是兩者上?

第二個連接字符串是唯一真正有效的字符串。你可以通過端口1433 telnet到服務器嗎?您是否可以遠程連接到Management Studio中的實例,並且問題僅源自連接字符串所在的代碼?你有沒有嘗試在服務器上運行相同的代碼?你有沒有嘗試強制TCP/IP(與命名管道/共享內存等)將下列參數添加到您的連接字符串:

Network=DBMSSOCN; 

這個問題來了不少,我敢肯定,你打的是什麼別人之前已經打過。你有沒有讀過這篇文章,「How to troubleshoot connecting to the SQL Server Database Engine」?根據this search result,此處還有20多個問題提及此錯誤消息和Express。我建議根據那些解決了其他用戶問題的答案中的一些項目,仔細檢查您的設置。

+0

非常感謝您的建議和鏈接,以及澄清連接字符串。在本地使用Management Studio時,遠程連接也失敗了,我想我已經意識到問題出在哪裏,雖然我在服務器防火牆中創建了例外,但服務器是由ISP託管的虛擬服務器,我認爲這很可能是他們還需要打開TCP端口,如果這不是解決方案,我會回覆,並且在查看您建議的鏈接後仍然無法找到它。再次感謝並向其他評論者致謝。 –