[英]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,無論如何:這給我留下了兩個選擇:
我嘗試使用 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 連接並且只允許命名管道。
最后但並非最不重要的是,Windows 防火牆需要允許連接到 SQL Server
更多信息:
最后要注意的是, SqlLocalDB僅支持命名管道,因此您無法通過網絡連接到它。
在您的 VPS 上啟動 SQL Server 配置管理器。
查看 SQL Server 網絡配置。 確保 TCP/IP 已啟用。
接下來看看 SQL Server 服務。 確保 SQL Server Browser 正在運行。
重新啟動 SQL Server 實例的服務。
打開 SQL Server 配置管理器.... 2.檢查 TCP 和 UDP 是否正在運行.... 3.如果沒有運行,請啟用它們並檢查 SQL Server 瀏覽器是否正在運行。如果沒有運行,請打開它在.....
接下來,您必須檢查 TCP 和 UDP 正在使用哪些端口。 您必須從 Windows 防火牆打開這些端口.....
5. 點擊這里查看在windows防火牆中打開特定端口的步驟....
現在 SQL Server 已准備好通過 LAN 訪問......
如果您想遠程(通過互聯網)訪問它,您必須做另一項工作,即“端口轉發”。 您已打開路由器上 SQL Server 中 TCP 和 UDP 使用的端口。 現在路由器的配置不同。 如果您提供路由器的詳細信息(即公司名稱和版本),我可以向您展示如何轉發特定端口的步驟。
禁用防火牆並嘗試連接。
如果可行,則啟用防火牆並
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 之前
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.