繁体   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