23

我想從本地機器上的SQL Server Management Studio訪問我的VPS上的SQL Server實例。它不工作(我得到的錯誤是:。無法遠程連接到SQL Server實例

出現與網絡相關的或特定於實例的錯誤而 建立SQL Server的連接服務器沒有被發現或 是無法訪問驗證實例名稱是否正確,以及 SQL Server配置爲允許遠程連接。

我想這是因爲我需要配置數據庫引擎以允許遠程連接(糾正我,如果我錯了!)。所以我找到了這個循序漸進的指南來幫助我做到這一點:http://www.linglom.com/2009/03/28/enable-remote-connection-on-sql-server-2008-express/我必須指出10在guid我和我現在卡住了!我的VPS上沒有安裝SQL Server Management Studio。無論如何,這給我留下了兩個選項:

  1. 安裝SSMS
  2. 找到另一種方式在引導做點10起,而無需SSMS安裝

我試圖用我的VPS安裝SSMS Web平臺安裝程序,但它保持失敗。我不知道它爲什麼失敗,因爲它似乎沒有給出原因。有誰知道我可以如何以不同的方式允許遠程連接?

安裝在我的VPS上的SQL Server版本是SQL Server 2008 R2 Express。

更新

我試圖禁用我的兩個筆記本電腦上的防火牆和VPS,看它是否是一個防火牆問題。這對錯誤信息沒有影響。

另一個更新:

現在已經能夠安裝SSMS(我直接安裝從網站而不是使用WPI),我已經能夠檢查服務器被配置爲允許遠程連接(我去了SSMS,連接到SQL Server實例,右鍵單擊連接,單擊屬性,進入連接選項卡,「允許遠程連接到此服務器」已被打勾)。

SOLUTION

感謝大家的幫助我得到這個解決方案!我終於設法讓它工作!我遵循Filip De Vos的建議,在我的VPS上的防火牆中打開端口,然後收到不同的錯誤消息。這導致我進一步調查,發現我使用了錯誤的憑據登錄!所以我爲sa用戶設置了一個密碼,並且設法使用它登錄!再次感謝!

+0

的可能重複[無法連接到SQL Server 2005(http://stackoverflow.com/questions/873924/cant-connect-to-sql-server-2005) – ig0774

+1

與編程相比,這更像是一個服務器配置問題,您可能會在serverfault.com上詢問更好的運氣。 – JYelton

+0

@JYelton謝謝 - 我也會嘗試。 – Leah

回答

46
  • 要啓用混合驗證您可以更改以下注冊表項:

    HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\LoginMode 
    

    更新的價值爲2,重新啓動SQL Server服務,允許混合身份驗證。 請注意,MSSQL.1可能需要更新以反映您嘗試更改的SQL Server實例的編號。

  • 連接錯誤的原因可能是安裝在服務器上的病毒掃描程序阻止sqlserver.exe

  • 另一個原因可能是SQL Server Browser服務未運行。當此服務未運行時,您無法連接已命名的實例(當它們使用動態端口時)。

  • 也可能Sql Server未設置爲偵聽TCP連接並且只允許命名管道。

    1. 在開始菜單中,打開程序> Microsoft SQL Server 2008中> 配置工具> SQL Server外圍應用配置
    2. 在外圍應用配置實用程序,單擊該鏈接的 「SQL Server 配置管理器」
    3. 展開「SQL Server網絡配置」和 選擇協議。
    4. 啓用TCP/IP。如果你需要命名管道,那麼你可以在這裏啓用它們。
  • 最後但並非最不重要的,Windows防火牆需要允許到SQL Server

    1. 連接添加例外sqlserver.exe當您使用了「動態端口」系統。
    2. 否則,您可以爲SQL Server端口(默認端口1433)設置例外
    3. 也爲SQL Server瀏覽器添加例外。 (UDP端口1434)

的更多信息:

作爲最後一個音符,SqlLocalDB只支持命名管道,所以你無法連接通過網絡發送給它。

+0

這不報告登錄失敗而不是網絡/連接錯誤? – Tao

+0

這是在問題 –

+0

@Tao中的第2點的答案添加了額外的步驟以允許傳入連接 –

5
  1. 在您的VPS上啓動SQL Server配置管理器。

  2. 看看SQL Server網絡配置。確保TCP/IP是啓用

  3. 接下來看看SQL Server服務。確保SQL Server Browser正在運行。

  4. 重新啓動您的SQL Server實例的服務。

+0

感謝您的幫助。不過,我已經嘗試了所有這些步驟,詳見我的問題中的鏈接。我有這麼多,錯誤信息仍然出現。 – Leah

+0

啊,對不起,我沒有意識到鏈接有相同的基本步驟。你不需要SSMS不一定是因爲它本質上是一個連接到服務器,讓您執行查詢和管理數據庫表,等等。如果服務器實例設置爲不允許Windows身份驗證(通過步驟10-12覆蓋的客戶端應用程序)你需要知道sql user/pw組合才能連接。我不確定你可以在沒有SSMS的情況下更改登錄方法。 – JYelton

+0

利亞只是FYI SQL Server始終允許Windows身份驗證,但SQL用戶認證可以啓用/禁用。(每[我如何禁用SQL Server的Windows身份驗證模式](http://serverfault.com/q/141698/29508))。祝你好運。 – JYelton

0

我最近從SQL 2008 R2升級到SQL 2012,並有類似的問題。問題在於防火牆,但更具體地說是SQL SERVER的防火牆規則。自定義規則指向SQL Server的以前版本。試試這個,打開Windows防火牆>高級設置。找到SQL Server規則(它可能有一個自定義名稱)。右鍵單擊並轉到屬性,然後選擇程序和服務選項卡。如果程序 - 此程序被選中,您應該瀏覽sqlserver.exe的正確版本。

2
  1. 打開SQL Server配置管理器.... 2.檢查wheather TCP和UDP正在運行或不.... 3.如果沒有運行,請啓用它們,並檢查SQL Server瀏覽器正在運行或not.If未運行,打開它.....

  2. 接下來,您必須檢查哪些端口的TCP和UDP使用。你必須從你的Windows防火牆打開這些端口.....

5. Click here to see the steps to open a specific port in windows firewall ....

  • 現在SQL Server是準備訪問在LAN .......

  • 如果你婉遠程訪問(通過互聯網),你必須做的另一項工作是「端口轉發」。您已打開TCP和UDP在路由器上的SQL Server中使用的端口。現在路由器的配置是不同的。如果您向我提供路由器的詳細信息(即公司名稱和版本),我可以向您介紹如何轉發特定端口的步驟。

  • 0

    我有我的地方是防火牆配置不當,TCP/IP是在SQL Server配置管理器啓用,但我仍然無法從訪問我的SQL數據庫的計算機外託管它同樣的問題。我發現解決方案是SQL Server Browser在服務中被默認禁用(並且沒有選項可用於在SQL Server配置管理器中啓用它)。

    我通過控制面板>管理工具>服務上的SQL Server瀏覽器然後雙擊啓用它。在常規選項卡中,使用下拉列表將啓動類型設置爲自動。然後回到SQL Server配置管理器並檢查是否啓用了SQL Server瀏覽器。希望這可以幫助。 enter image description here

    6

    除了將Services.msc中的SQL Server Browser服務配置爲Automatic並啓動該服務之外,還必須在以下位置啓用TCP/IP:SQL Server配置管理器| SQL Server網絡配置| [INSTANCE NAME]的協議| TCP/IP

    enter image description here