簡體   English   中英

無法遠程連接到 SQL Server 實例

[英]Unable to connect to SQL Server instance remotely

我正在嘗試從本地計算機上的 SQL Server Management Studio 訪問 VPS 上的 SQL Server 實例。 它不起作用(我得到的錯誤是:

建立與 SQL Server 的連接時出現與網絡相關或特定於實例的錯誤。 服務器未找到或無法訪問。 驗證實例名稱是否正確以及 SQL Server 是否配置為允許遠程連接。

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

  1. 安裝SSMS
  2. 在沒有安裝 SSMS 的情況下找到指南中第 10 點之后的另一種方法

我嘗試使用 Web 平台安裝程序在我的 VPS 上安裝 SSMS,但它一直失敗。 我不知道為什么它會失敗,因為它似乎沒有給出原因。 有誰知道我如何以不同的方式允許遠程連接?

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

更新

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

另一個更新:

現在可以安裝 SSMS(我直接從網站安裝而不是使用 WPI),我已經能夠檢查服務器是否配置為允許遠程連接(我去了 SSMS,連接到 SQL Server 實例,對- 單擊連接,單擊屬性,轉到連接選項卡。“允許遠程連接到此服務器”已被勾選)。

解決方案

感謝大家幫助我找到這個解決方案。 我終於設法讓它工作了! 我聽從了 Filip De Vos 的建議並在我的 VPS 上的防火牆中打開了端口,然后我收到了一條不同的錯誤消息。 這促使我進一步調查,發現我使用了錯誤的憑據進行登錄! 所以我為 sa 用戶設置了一個密碼,我已經成功地使用它登錄了! 再次感謝!

  • 要啟用混合身份驗證,您可以更改以下注冊表項:

     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 Surface Area 配置”
    2. 在 Surface Area Configuration 實用程序中,單擊鏈接“SQL Server Configuration Manager”
    3. 展開“SQL Server 網絡配置”並選擇協議。
    4. 啟用 TCP/IP。 如果您需要命名管道,那么您也可以在此處啟用它們。
  • 最后但並非最不重要的是,Windows 防火牆需要允許連接到 SQL Server

    1. 當您使用“動態端口”系統時,為 sqlserver.exe 添加一個例外。
    2. 否則,您可以為 SQL Server 端口設置例外(默認端口 1433)
    3. 還要為 SQL Server 瀏覽器添加一個例外。 (UDP 端口 1434)

更多信息:

最后要注意的是, SqlLocalDB僅支持命名管道,因此您無法通過網絡連接到它。

除了將 Services.msc 中的 SQL Server Browser 服務配置為 Automatic 並啟動該服務外,我還必須在以下位置啟用 TCP/IP:SQL Server 配置管理器 | SQL Server 網絡配置 | [實例名稱] 的協議 | TCP/IP

在此處輸入圖片說明

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

  2. 查看 SQL Server 網絡配置。 確保 TCP/IP 已啟用

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

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

  1. 打開 SQL Server 配置管理器.... 2.檢查 TCP 和 UDP 是否正在運行.... 3.如果沒有運行,請啟用它們並檢查 SQL Server 瀏覽器是否正在運行。如果沒有運行,請打開它在.....

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

5. 點擊這里查看在windows防火牆中打開特定端口的步驟....

  1. 現在 SQL Server 已准備好通過 LAN 訪問......

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

我遇到了同樣的問題,我的防火牆配置正確,在 SQL Server 配置管理器中啟用了 TCP/IP,但我仍然無法從托管它的計算機外部訪問我的 SQL 數據庫。 我發現解決方案是默認情況下在服務中禁用 SQL Server 瀏覽器(並且沒有選項可用於在 SQL Server 配置管理器中啟用它)。

我通過控制面板 > 管理工具 > 服務啟用它,然后雙擊 SQL Server Browser。 在常規選項卡中,使用下拉列表將啟動類型設置為自動。 然后返回 SQL Server 配置管理器並檢查 SQL Server 瀏覽器是否已啟用。 希望這可以幫助。 在此處輸入圖片說明

禁用防火牆並嘗試連接。

如果可行,則啟用防火牆並

Windows Defender 防火牆 -> 高級設置 -> 入站規則(右鍵單擊) -> 新規則 -> 端口 -> 允許端口 1433(公共和私有) -> 添加

對出站規則執行相同操作。

然后再試一次。

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

打開 SQL Server 配置管理器。

單擊 SQL Server Services,在右側選擇您在安裝過程中創建的服務器(默認狀態為停止狀態),單擊一次,工具欄上應出現播放按鈕。 單擊此播放按鈕,等待其狀態變為“正在運行”。 現在你很好。

打開 SQL Server Management Studio; 將“服務器類型”切換為“數據庫引擎”,將“身份驗證”切換為“ SQL Server 身份驗證”。 默認登錄名是“ sa ”,密碼是您在創建服務器時選擇的密碼。 現在你可以工作了。

我知道這已經快 1.5 歲了,但我希望我能幫助別人解決我的發現。

我已經構建了一個控制台應用程序和一個 UWP 應用程序,我的控制台連接正常,但我的 UWP 沒有。 在我的頭撞在桌子上幾個小時后 - 如果它是托管 SQL 數據庫的 Intranet 服務器,則必須啟用“專用網絡(客戶端和服務器)”。 它位於 Package.appxmanifest 和 Capabilities 選項卡下。 截屏

如果您有多個實例...那么請確保所有實例的端口號都是唯一的,並且除了默認一個之外沒有人的端口號是 1433...

在我的例子中,問題是由計算機名稱之間的不一致引起的。 在系統設置中,我的計算機被命名為一些長名稱,但顯然用於某些特定通信的名稱被刪減了。

我將設置中的名稱更改為較短的名稱並且有效。

在下載最新版本並更新您的 sql server 以修復 SQL Server 2012 上的 TLS 1.2 錯誤之前

鉑溴

在最后版本和 atualizar seu servidor sql para corrigir erros de TLS 1.2 no Sql Server 2012 之前

https://support.microsoft.com/pt-br/topic/kb3135244-suporte-para-tls-1-2-para-microsoft-sql-server-e4472ef8-90a9-13c1-e4d8-44aad198cdbe

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM