我有一个AWS服务器(MS SQL SERVER EXPRESS 2008 R2 with IIS),弹性IP为54.214.8.111,安全组配置为HTTP,MS SQL和FTP,我可以使用Amazon在控制台中提供的RDP文件连接到远程虚拟机。
但是,当我尝试通过visual studio连接以测试数据库是否工作时,它给我一个“用户'dbuser'登录失败”错误。(当然是在服务器端)具有完全访问权限等。我也无法连接到服务器上的ftp,尽管有所有的指南和帮助文档。一些东西似乎只是阻止了我的连接。我已经在多台电脑上尝试了同样的事情。
一切似乎都配置正确,除了我怀疑服务器示例。
有人能帮忙吗?PS我对Web开发相当陌生,这是我的第一台AWS EC2服务器。
[更新]我刚刚尝试在不同的位置创建一个新的示例,同样的错误,也许我不知道如何在EC2上配置SQL Server?
1条答案
按热度按时间uubf1zoe1#
我最近遇到了与AWS/SQL Server相同的连接问题,我终于解决了。
在AWS上远程连接到SQL Server涉及3个主要因素:AWS --> Windows安全--> SQL Server设置/安全。
连接很容易失败,因为每个区域都有特定的要求。我将通过检查列表:
AWS:
1.在AWS管理控制台中,转到安全组,单击适用于Windows服务器的组,确保MS SQL TCP端口1433对您的特定客户端IP开放。如果没有,您需要添加它。
1.记录服务器的公共IP
windows :
1.点击Windows防火墙与高级安全,Windows防火墙属性,点击“公共配置文件”选项卡,设置防火墙状态为“开”,阻止,阻止允许(或阻止取决于您的应用程序)。
1.展开Windows防火墙(位于左侧的“防火墙”),按住鼠标右键单击“防火墙规则”,然后单击“新建规则”。
1.单击端口选项,下一步>,对于TCP,输入1433下一步>,允许连接,下一步>,下一步>,给予它一个名称(SQL-PORT-ACCESS)
SQL服务器:
1.使用默认的Windows身份验证通过SSMS(SQL Server Management Studio)登录到SQL Server。
1.在左窗格中,右键单击顶部服务器列表(带有数据库图标,即第一个列表),然后选择“Properties”
1.在“属性”窗口中,单击左窗格中的“安全性”,选择“SQL Server和Windows身份验证”
1.点击连接,勾选“允许远程连接”选项.点击确定。
1.打开SQL Configuration Manager,开始>程序> Microsoft SQL Server >配置工具> SQL Server Configuration Manager
1.单击IP端口选项卡,检查是否已启用IP 1,动态端口为0,TCP端口为1433
1.向下滚动到IPAll部分,在TCP Dynamic Ports中输入0,在TCP Port中输入1433。OK.
1.返回左窗格,单击,SQL Server服务,R-单击SQL Server选项,然后选择“重新启动”。(注意:SQL浏览器服务器不会影响连接,浏览器服务仅列出可用的服务器,具有您特定的连接参数,无需启动或担心浏览器)
测试:你不必去你的远程客户端进行测试,从尝试从服务器上的同一个SSMS窗口开始连接。这减少了所有其他可能出错的事情,如果你可以在这里连接,你就有了一些确认它工作。如果它在你自己的服务器上不工作,问题与Windows安全和SQL安全和设置有关。
1.在对象资源管理器(SQL Server Management Studio)下,单击“连接”>数据库引擎...
1.在服务器名称:中,输入您的公共IP,逗号,然后
1433
。例如,如果您的公共IP是54.4.4.4
,则输入54.4.4.4,1433
,1.选择身份验证为“SQL Server”,输入登录用户和密码。
1.如果您使用的是“sa”,请记住更改密码。
1.如果您的连接在本地工作,那么您可以尝试远程客户端连接。
1.此时,您知道您的SQL Server和用户设置是正确的。
接下来,尝试在另一台计算机上使用SSMS。如果失败,可能防火墙需要第二次检查。
了解问题的好地方,是SQL日志,可以从SSMS轻松访问,在左侧窗格中,展开管理,然后SQL Server配置,当前日志将列出任何问题。
所以,这些都是涉及到的部分--少了一个,你会感到沮丧,但是在测试时要从减少部分开始。
我能够从Windows设备连接到AWS Windows Server/SQL Express上的数据库.
祝你好运!