无法从 Visual Studio(或实际任何地方)连接到 AWS EC2

2023-11-27

我有一台 AWS 服务器(带有 IIS 的 MS SQL SERVER EXPRESS 2008 R2),弹性 IP 为 54.214.8.111,配置了 HTTP、MS SQL 和 FTP 的安全组,我可以使用 rdp 文件连接到远程虚拟机亚马逊在控制台中为您提供。

然而,当我尝试通过 Visual Studio 连接来测试数据库是否正常工作时,它给我一个“用户'dbuser'登录失败”错误。我的 SQL Server 上有一个名为 dbuser 的用户(当然在服务器端)完全访问权限等。尽管有所有指南和帮助文档,我也无法连接到服务器上的 ftp。似乎有什么东西简单地阻止了我的连接。我在多台计算机上尝试了同样的操作。

除了我怀疑服务器实例之外,一切似乎都配置正确。

有人可以帮忙吗? PS 我对 Web 开发相当陌生,这是我的第一个 AWS EC2 服务器。

[更新] 我只是尝试在不同的位置创建一个新实例,同样的错误,也许我不知道如何在 EC2 上配置 SQL Server?


我最近遇到了与 AWS/SQL Server 相同的连接问题,我终于解决了。

在 AWS 上远程连接到 SQL Server 涉及 3 个主要因素: AWS --> Windows 安全 --> SQL Server 设置/安全。

连接很容易失败,因为每个区域都有特定的要求。我将检查清单:

AWS:

  1. 在AWS管理控制台中,转到安全组,单击适用于您的Windows服务器的组,确保MS SQL TCP端口1433对您的特定客户端IP开放。如果没有,您需要添加它。

*22 年 5 月 10 日更新:在 AWS 的入站安全中,如果您输入 0.0.0.0 作为源 IP,它将公开打开该端口,您不应向所有人开放该端口。仅向特定 IP 地址开放此端口,并采取额外的安全措施对其进行保护,仅允许经过身份验证的用户访问。阅读安全性以及如何配置以保护您的 SQL 服务器。

  1. 记下您服务器的公共IP

WINDOWS:

  1. RDP 到 Amazon Windows 服务器,开始 > 管理工具 > 本地安全策略
  2. 单击高级安全 Windows 防火墙、Windows 防火墙属性,单击“公共配置文件”选项卡,将防火墙状态设置为“打开”,将入站设置为阻止,将出站设置为允许(或根据您的应用程序进行阻止)。好的。
  3. 展开 Windows 防火墙(在左侧窗格中),右键单击入站规则,然后单击新建规则。
  4. 单击端口选项,下一步 >,对于 TCP,输入 1433 下一步 >,允许连接,下一步 >,下一步 >,为其命名(SQL-PORT-ACCESS)

SQL服务器:

  1. 使用默认的 Windows 身份验证通过 SSMS (SQL Server Management Studio) 登录到 SQL Server。
  2. 在左侧窗格中,右键单击顶部服务器列表(带有数据库图标,第一个列表),然后选择“属性”
  3. 属性窗口,单击左侧窗格中的安全性,选择“SQL Server 和 Windows 身份验证”
  4. 单击“连接”,选中“允许远程连接”选项...单击“确定”。
  5. 打开 SQL 配置管理器,开始 > 程序 > Microsoft SQL Server > 配置工具 > SQL Server 配置管理器
  6. SQL Server 网络配置(展开),选择 MSSQL 协议,R-单击 TCP,选择属性(应启用 TCP)
  7. 单击“IP 地址”选项卡,检查 IP1 是否已启用、动态端口为 0、TCP 端口为 1433
  8. 一直向下滚动到 IPAll 部分,在 TCP 动态端口中输入 0,在 TCP 端口中输入 1433。好的...
  9. 返回左侧窗格,单击 SQL Server 服务,R-单击 SQL Server 选项,然后选择“重新启动”。 (注意:SQL Browser 服务器不会影响连接,浏览器服务仅列出可用的服务器以及您的特定连接参数,无需启动或担心浏览器)

测试: 您不必转到远程客户端进行测试,只需尝试从服务器上的同一 SSMS 窗口进行连接即可。这减少了最初可能出现问题的所有其他问题,如果您可以在此处连接,则可以确认它可以正常工作。如果它在您自己的服务器上不起作用,则问题与 Windows 安全性和 SQL 安全性和设置有关。

  1. 在对象资源管理器 (SQL Server Management Studio) 下,单击“连接”> 数据库引擎...
  2. 在服务器名称:中,输入您的公共 IP、逗号,然后1433。例如,如果您的公共 IP 是54.4.4.4, 进入54.4.4.4,1433,
  3. Select the authentication as "SQL Server", enter the login user and password.
    1. 如果您使用“sa”,请记住更改密码。
    2. 如果您的连接在本地工作,那么您可以尝试远程客户端连接。
  4. 此时您知道您的 SQL 服务器和用户设置是正确的。

接下来,尝试在另一台计算机上使用 SSMS。如果失败,防火墙可能需要第二次检查......

了解问题的好地方是可以从 SSMS 轻松访问 SQL 日志,在左侧窗格中展开“管理”,然后展开“SQL Server 日志”,当前日志将列出所有问题。

所以,这些就是涉及的所有部分——错过一个你就会感到沮丧,但在测试时首先要减少部分。

我能够从 Windows 设备连接到 AWS Windows Server/SQL Express 上的数据库...

祝你好运!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法从 Visual Studio(或实际任何地方)连接到 AWS EC2 的相关文章

随机推荐