无法使用 Management Studio 连接到 RDS SQL 服务器数据库

Cannot connect to RDS SQL Server Database using Management Studio

我在 AWS 中创建了一个 SQL 服务器 RDS 实例,它似乎已启动 运行,但如果我尝试使用 Management Studio 连接到它,我会收到此错误:

错误正文如下:

建立与 SQL 服务器的连接时出现与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确并且 SQL 服务器配置为允许远程连接。 (提供商:TCP 提供商,错误:0 - 等待操作超时。)(Microsoft SQL 服务器,错误:258)

我最初尝试使用随实例创建的默认安全组,但当它不起作用时,我创建了一个新的安全组并修改了实例以使用它。

在这里你可以看到详细信息:

我试过这个连接设置来连接: 服务器类型:数据库引擎 服务器名称:valuationdlsdev.ck1qvjqhglyg.us-west-2.rds.amazonaws.com,1433 身份验证:SQL 服务器身份验证 Login:我在创建RDS Instance时创建的Master User Login 密码:我在创建RDS实例时设置的主用户密码

我有点无能为力,所以我将安全组的设置更改为所有流量,看看是否可行,下面是安全组的所有设置:

此时我在想是不是1433端口没有打开,因为我感觉我什么都试过了。有人可以帮帮我吗

谢谢。

万一有人遇到这个 post 寻找答案,我只是想更新并确保它在那里,如果有人需要它。这里的问题原来是我误解了 "Publicly Accessible" 的工作方式并将其设置为 "Yes"。显然它应该设置为 "No"。 "Yes",但确实适用于 SQL Server Express 版本。

确保它可以公开访问,您必须选中一个单选按钮才能使其公开访问。

同时在入站 tab.After 中添加 MS SQL 入站规则,使更改等待一段时间,以便在实例中更新设置。

感谢您在这里的讨论。只是 post 我的发现,以防将来有人需要帮助。

我最初遵循了本指南 https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToMicrosoftSQLServerInstance.html

然后,我从这个post中得到了一些想法,并最终找出了我的特殊问题。 https://forums.aws.amazon.com/thread.jspa?messageID=845682 post er 确实做了很棒的故障排除步骤,可以帮助解决大多数常见错误 258 问题。最后我根据回答者的建议找出了我的问题。

就我遇到的错误 258 而言,我尝试从我的工作场所连接到安全网络内的 RDS SQL 服务器 2016。当我切换到使用某些电信供应商提供的 public 网络时,连接成功。

如果您想从创建实例的不同网络访问,您需要打开对您要访问的 IP 范围的访问权限,方法是转到分配给您的数据库的 "security group"例如,然后为您的 IP 范围添加规则。

PD。默认情况下,AWS 只允许从您激活 "public access" 的机器的 IP 范围访问实例。

我也无法从我的办公室笔记本电脑访问它,但我可以从我的个人笔记本电脑访问它。我认为是因为某些公司防火墙规则。

根据我的经验,这是违反直觉的。使用我选择的选项,所有端口和 IP 似乎都是开放的,但是在编辑安全组中的入站和出站规则以在任何地方设置 MS SQL 后,我能够连接。

对于入站规则,请转到您的数据库实例的 VPC 安全组

在“入站”选项卡中单击修改

在列 source 中通过 "My IP" 或 "Anywhere"

将 ip 0.0.0.0 更改为您的 IP

在我的例子中,我打开了与我的数据库关联的 VPC 安全组

在 EC2 安全组仪表板中,我从操作下拉列表中选择了编辑入站规则,然后选择了编辑入站规则。

起初,我查看了入站规则并认为一切正常,因为这是当前设置

毕竟 - 如果它允许所有流量,那么可能有什么问题?

一时兴起,我为 TCP 端口 1433 添加了一条规则。以这个简单的设置结束

然后它立即开始为我工作。

我遇到了同样的问题。

我最终删除了安全组入站规则,并为端口 1433 添加了一个新的入站规则,源为:0.0.0.0

附上图片。

inbound rules