无法使用Management Studio连接到RDS SQL Server数据库

时间:2017-06-21 17:44:45

标签: sql sql-server amazon-web-services ssms amazon-rds

我在AWS中创建了一个SQL Server RDS实例,它似乎启动并运行,但如果我尝试使用Management Studio连接到它,我会收到以下错误: enter image description here

以下是错误的文字:

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

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

在这里您可以看到详细信息: enter image description here

我尝试使用此连接设置进行连接: 服务器类型:数据库引擎 服务器名称:valuationdlsdev.ck1qvjqhglyg.us-west-2.rds.amazonaws.com,1433 身份验证:SQL Server身份验证 登录:我在创建RDS实例时创建的主用户登录 密码:我在创建RDS实例时创建的主用户密码

我的智慧结束了,因此我将安全组的设置更改为所有流量只是为了查看是否可行,所以以下是安全组的所有设置:enter image description here

此时我想知道端口1433是否未打开,因为我觉得我已经尝试了一切。有人可以帮助我。

感谢。

8 个答案:

答案 0 :(得分:8)

就我而言,我打开了与数据库关联的VPC安全组

enter image description here

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

首先,我查看了入站规则,并认为一切正常,因为这是当前设置 enter image description here

毕竟-如果它允许所有流量,那么可能是哪里出了问题?

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

enter image description here

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

答案 1 :(得分:3)

确保它可公开访问,您需要检查一个单选按钮,以便公开访问。enter image description here

还在入站选项卡中添加MS SQL入站规则。在进行更改后等待一段时间,以便在实例中更新设置。

答案 2 :(得分:2)

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

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

在列源中,通过“我的IP”或“任意位置”将IP更改为IP 0.0.0.0

答案 3 :(得分:2)

我遇到了同样的问题。

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

附上图片。

inbound rules

答案 4 :(得分:0)

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

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

然后,我从这篇文章中得到了一些想法,并最终弄清了我的特定问题。 https://forums.aws.amazon.com/thread.jspa?messageID=845682张贴者确实做了出色的故障排除步骤,这些步骤可以帮助解决大多数常规的258错误。最后,我使用了回答者的建议来找出我的问题。

就遇到错误258的情况而言,我尝试从工作场所连接到安全网络内的RDS SQL Server 2016。当我切换为使用某些Telecomm供应商提供的公共网络时,连接成功。

答案 5 :(得分:0)

如果要从创建实例的其他网络访问,则需要转到分配给数据库实例的“安全组”,以打开对要访问的IP范围的访问。然后为您的IP范围添加规则。

PD。默认情况下,AWS仅允许从激活了“公共访问”实例的计算机的IP范围进行访问。

答案 6 :(得分:0)

根据我的经验,这是违反直觉的。使用我选择的选项,所有端口和IP似乎都处于打开状态,但是在将安全组中的入站和出站规则编辑为可以在任何地方使用MS SQL之后,我就可以连接了。

答案 7 :(得分:-2)

如果有人发现这篇文章寻找答案,我只是想更新,并确保在任何人需要它的时候。这里的问题证明是我误解了“公共可访问”的方式。工作并将其设置为"是"。显然它应该被设置为" No"。 "是"但是适用于SQL Server Express版本。