![从本地连接到 EC2 上的 MSSQL](https://linux22.com/image/520503/%E4%BB%8E%E6%9C%AC%E5%9C%B0%E8%BF%9E%E6%8E%A5%E5%88%B0%20EC2%20%E4%B8%8A%E7%9A%84%20MSSQL.png)
是否有人曾经设法从开发机器上的 Management Studio 连接到托管在 Amazon EC2 上的 Microsoft SQL Server(最好是 2008)?
我已经设置安全组以允许端口 1433,并从 Windows 防火墙打开出站端口 1433,但无济于事。
Management Studio 的错误是“26 - 错误定位指定的服务器/实例”。我正在使用关联的弹性 IP 地址作为服务器名称。
尝试搜索“sql-server ec2”,但没有发现类似的问题。
可以从本地 EC2 管理工作室访问该服务器。
答案1
服务器是否配置为侦听 EC2 实例的公共 IP?本地 EC2 SSMS 将使用共享内存协议进行连接。
不用说,为互联网打开 SQL Server 是真的坏主意。您的 TDs 端口将受到持续的机器人扫描,并且您的 ERRORLOG 将充满失败的“sa”尝试。您做您的 sa 密码非常强,不是吗?至少使用非默认端口。
答案2
检查列表以启用连接:
- 首先,确定您要访问的端口号(默认为 1433,但您可能想要更改它。在这个例子中,我选择了 5555。)
- 允许在 EC2 安全组上连接此端口。添加 TCP/5555-5555/all。
- 在 Windows 防火墙上允许到此端口的入站连接。在该端口上添加新规则(您可能希望指定 sqlservr.exe 作为程序)。
- 在 SQL Server 配置管理器上启用 TCP/IP 协议并设置静态端口。为此,请转到协议属性上的“IP 地址”选项卡,向下滚动到 IPAll,清空 TCP 动态端口,然后在 TCP 端口属性中设置所需的端口。
一切已就绪。