我有一台 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:
- 在AWS管理控制台中,转到安全组,单击适用于您的Windows服务器的组,确保MS SQL TCP端口1433对您的特定客户端IP开放。如果没有,您需要添加它。
*22 年 5 月 10 日更新:在 AWS 的入站安全中,如果您输入 0.0.0.0 作为源 IP,它将公开打开该端口,您不应向所有人开放该端口。仅向特定 IP 地址开放此端口,并采取额外的安全措施对其进行保护,仅允许经过身份验证的用户访问。阅读安全性以及如何配置以保护您的 SQL 服务器。
- 记下您服务器的公共IP
WINDOWS:
- RDP 到 Amazon Windows 服务器,开始 > 管理工具 > 本地安全策略
- 单击高级安全 Windows 防火墙、Windows 防火墙属性,单击“公共配置文件”选项卡,将防火墙状态设置为“打开”,将入站设置为阻止,将出站设置为允许(或根据您的应用程序进行阻止)。好的。
- 展开 Windows 防火墙(在左侧窗格中),右键单击入站规则,然后单击新建规则。
- 单击端口选项,下一步 >,对于 TCP,输入 1433 下一步 >,允许连接,下一步 >,下一步 >,为其命名(SQL-PORT-ACCESS)
SQL服务器:
- 使用默认的 Windows 身份验证通过 SSMS (SQL Server Management Studio) 登录到 SQL Server。
- 在左侧窗格中,右键单击顶部服务器列表(带有数据库图标,第一个列表),然后选择“属性”
- 属性窗口,单击左侧窗格中的安全性,选择“SQL Server 和 Windows 身份验证”
- 单击“连接”,选中“允许远程连接”选项...单击“确定”。
- 打开 SQL 配置管理器,开始 > 程序 > Microsoft SQL Server > 配置工具 > SQL Server 配置管理器
- SQL Server 网络配置(展开),选择 MSSQL 协议,R-单击 TCP,选择属性(应启用 TCP)
- 单击“IP 地址”选项卡,检查 IP1 是否已启用、动态端口为 0、TCP 端口为 1433
- 一直向下滚动到 IPAll 部分,在 TCP 动态端口中输入 0,在 TCP 端口中输入 1433。好的...
- 返回左侧窗格,单击 SQL Server 服务,R-单击 SQL Server 选项,然后选择“重新启动”。
(注意:SQL Browser 服务器不会影响连接,浏览器服务仅列出可用的服务器以及您的特定连接参数,无需启动或担心浏览器)
测试:
您不必转到远程客户端进行测试,只需尝试从服务器上的同一 SSMS 窗口进行连接即可。这减少了最初可能出现问题的所有其他问题,如果您可以在此处连接,则可以确认它可以正常工作。如果它在您自己的服务器上不起作用,则问题与 Windows 安全性和 SQL 安全性和设置有关。
- 在对象资源管理器 (SQL Server Management Studio) 下,单击“连接”> 数据库引擎...
- 在服务器名称:中,输入您的公共 IP、逗号,然后
1433
。例如,如果您的公共 IP 是54.4.4.4
, 进入54.4.4.4,1433
,
- Select the authentication as "SQL Server", enter the login user and password.
- 如果您使用“sa”,请记住更改密码。
- 如果您的连接在本地工作,那么您可以尝试远程客户端连接。
- 此时您知道您的 SQL 服务器和用户设置是正确的。
接下来,尝试在另一台计算机上使用 SSMS。如果失败,防火墙可能需要第二次检查......
了解问题的好地方是可以从 SSMS 轻松访问 SQL 日志,在左侧窗格中展开“管理”,然后展开“SQL Server 日志”,当前日志将列出所有问题。
所以,这些就是涉及的所有部分——错过一个你就会感到沮丧,但在测试时首先要减少部分。
我能够从 Windows 设备连接到 AWS Windows Server/SQL Express 上的数据库...
祝你好运!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)