无法使用 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
我在 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