2010-06-03 80 views
2

我有一個使用本地Sql Server數據庫本地開發的網站。我也有一臺Web主機,爲我的網站提供一個Sql Server數據庫。現在我想部署應用程序,並且希望能夠通過Visual Studio中的服務器資源管理器來管理遠程數據庫。我有應用程序中使用的連接字符串,它適用於向控件等添加數據源,但我不知道是否有任何方法使用它來連接服務器資源管理器中的數據庫,以便我可以添加表等。我已經讀過,你應該能夠這個,而不是使用SQL Server管理工作室,但我沒有讀到任何有關如何連接到它的遠程數據庫。在Visual Studio或Sql Server Management Studio中連接到Web主機上的數據庫

我到目前爲止試過的是這樣的:我已經選擇在服務器資源管理器中添加數據庫。這首先彈出一個對話框,我選擇Sql Server。然後我得到一個對話框,我可以設置服務器名稱(我嘗試使用下面的連接字符串中的IP地址)和身份驗證(我選擇Sql Server身份驗證,用戶名和密碼從下面)。但是當我測試連接失敗時。

這裏的連接字符串,用於在應用程序中的數據源(很明顯,不同的用戶名和密碼)時工作正常:

任何幫助表示讚賞!

編輯:

嗯,我所做的一切,通過以下lewiguez現在建議,但它並沒有任何區別。我不能相信這應該是這麼辛苦......我一直在Sql Server Management Studio中收到此錯誤消息:

建立與SQL Server的連接時發生網絡相關或實例特定的錯誤。服務器未找到或無法訪問。驗證實例名稱是否正確,並將SQL Server配置爲允許遠程連接。 (provider:命名管道提供程序,error:40 - 無法打開到SQL Server的連接)(微軟SQL Server,錯誤:53)

回答

2

這是我遵循與遠程數據庫的工作過程:

  1. 在VS 2008的服務器 瀏覽器選項卡下,「數據 連接」右鍵單擊,然後單擊「添加 連接」
  2. 更改數據源,以 「Microsoft SQL Server的」
  3. 在您的完全合格的將 「服務器名稱」(無論是IP地址,域名等),選擇「Sql Server Authentication」,並輸入數據庫用戶的「用戶 名稱」和「密碼」
  4. 選擇您想要的數據庫連接到在「選擇或輸入數據庫名稱」
  5. 命中「測試連接」來測試,然後「確定」,通過擴大連接,然後接受
  6. 你應該能夠在這一點上與數據庫進行交互「表格」文件夾。例如,右鍵單擊Tables文件夾,將在對話框中顯示「添加表格」選項。右擊現有的表格會彈出「打開表格定義」選項,您可以在其中更改任何列等。

如果你沒有達到這一點(聽起來你不是),我建議你檢查你使用的任何機器的Sql Server連接。

我通常通過進入Management Studio並使用任何憑據嘗試使用來執行此操作。如果它們不起作用,請確保它們實際上被添加爲Sql Server用戶和數據庫用戶(它們必須都是)。

此外,我會檢查在Sql Server表面區域配置管理器。您必須允許TCP連接,並且您必須設置爲允許來自遠程主機的Sql Server身份驗證連接。如果所有設置完成,但仍然無法連接,請仔細檢查以確保防火牆允許連接Sql Server。默認端口是1433.

此外,如果您可以連接,但無法寫入任何內容,請仔細檢查您的表的權限。希望這可以幫助!

+0

對,我到達第5項,測試連接失敗。我在Management Studio中嘗試了相同的結果。問題是,我之前已經能夠在我之前的計算機上連接到Web主機上的同一個數據庫。所以我想知道的是,所有這些關於「添加憑據作爲Sql Server用戶」等(你的意思是我的密碼和用戶名?),如果你的意思是在Web主機Sql Server數據庫上,那麼是的,因爲他們以前工作過。否則,請你澄清一下嗎? – Anders 2010-06-03 13:54:04

+0

另外,允許TCP連接和身份驗證連接的其他內容是否意味着在本地計算機上?因爲我不明白這是如何工作的......當然,必須在Web主機上的數據庫上設置權限?還是我誤解了一些關於Sql Server的工作原理......?我對數據庫開發相當陌生。另外,在哪裏可以找到Sql Server表面區域配置管理器? – Anders 2010-06-03 13:55:00

+0

順便說一句,這裏是我得到的錯誤消息(都來自Server Explorer和Management Studio): 建立到SQL Server的連接時發生網絡相關或實例特定的錯誤。服務器未找到或無法訪問。驗證實例名稱是否正確,並將SQL Server配置爲允許遠程連接。 (提供程序:命名管道提供程序,錯誤:40 - 無法打開與SQL Server的連接)(Microsoft SQL Server,錯誤:53) 同樣,關於允許遠程連接的東西,不會在Web主機上? – Anders 2010-06-03 13:56:57

2

我終於明白了這個問題:因爲我懷疑我自己安裝的設置不是問題,而是我的Web主機上安裝Sql Server的設置。事實上,我在我的網絡主機上的控制面板中找到了一個位置,我可以爲我的IP地址設置一個例外,這樣我的IP將被授予訪問S33服務器的端口1433的權限,否則由於安全原因。

我一直都沒有找到關於這方面的信息,所有在互聯網上,我覺得很奇怪。我所能找到的所有信息都必須在您自己的本地安裝Sql Server上更改這些設置。但是我確定有很多人喜歡我使用Web主機來部署他們的網站,然後這些信息似乎並不適用。 (也許除了TCP設置,我認爲必須設置,並在這裏有詳細的信息:http://www.linglom.com/2009/03/28/enable-remote-connection-on-sql-server-2008-express/

希望這可以幫助像我一樣的其他人使用虛擬主機。至少,在Management Studio和Visual Studio Server Explorer中,至少對我來說工作正常。

相關問題