Visual studio 无法从visual studio(或任何实际位置)连接到AWS EC2

Visual studio 无法从visual studio(或任何实际位置)连接到AWS EC2,visual-studio,sql-server-2008,amazon-web-services,amazon-ec2,connection,Visual Studio,Sql Server 2008,Amazon Web Services,Amazon Ec2,Connection,我有一台AWS服务器(MS SQL server EXPRESS 2008 R2 with IIS),弹性IP为54.214.8.111,安全组配置为HTTP、MS SQL和FTP,我可以使用amazon在控制台中提供的rdp文件连接到远程虚拟机 但是,当我尝试通过visual studio连接以测试数据库是否正常工作时,它会给我一个“用户'dbuser'登录失败”错误。我的SQL Server上有一个名为dbuser的用户(当然是在服务器端)使用完全访问权限等。尽管有所有指南和帮助文档,我也无

我有一台AWS服务器(MS SQL server EXPRESS 2008 R2 with IIS),弹性IP为54.214.8.111,安全组配置为HTTP、MS SQL和FTP,我可以使用amazon在控制台中提供的rdp文件连接到远程虚拟机

但是,当我尝试通过visual studio连接以测试数据库是否正常工作时,它会给我一个“用户'dbuser'登录失败”错误。我的SQL Server上有一个名为dbuser的用户(当然是在服务器端)使用完全访问权限等。尽管有所有指南和帮助文档,我也无法连接到服务器上的ftp。似乎有什么东西只是阻止了我的连接。我在多台计算机上尝试了相同的方法

除了我怀疑服务器实例之外,所有配置似乎都正确

有人能帮我吗?PS我对web开发相当陌生,这是我的第一台AWS EC2服务器


[更新]我刚刚尝试在不同的位置创建一个新实例,同样的错误,可能我不知道如何在EC2上配置SQL Server?

我最近遇到了与AWS/SQL Server相同的连接问题,我终于解决了

在AWS上远程连接SQL Server涉及3个主要因素: AWS-->Windows安全-->SQL Server设置/安全性

连接很容易失败,因为每个区域都有特定的要求。我将查看检查表:

美国焊接学会:

  • 在AWS管理控制台中,转到安全组,单击应用于windows服务器的组,确保MS SQL TCP端口1433对0.0.0.0或您的特定客户端IP打开。否则,您需要添加它

  • 请注意服务器的公共IP

  • 窗口:

  • 到Amazon Windows服务器的RDP,开始>管理工具>本地安全策略
  • 单击具有高级安全性的Windows防火墙、Windows防火墙属性、单击“公共配置文件”选项卡、将防火墙状态设置为“打开”、将入站设置为阻止、将出站设置为允许(或根据应用程序进行阻止)。确定
  • 展开Windows防火墙(在左侧窗格中),右键单击入站规则,然后单击新建规则
  • 单击端口选项,下一步>,对于TCP,输入1433下一步>,允许连接,下一步>,下一步>,为其命名(SQL-Port-ACCESS)
  • SQL-SERVER:

  • 使用默认windows身份验证,使用SSMS(SQL Server Management Studio)登录到SQL Server
  • 在左窗格中,右键单击顶部的服务器列表(带有数据库图标,第一个列表),然后选择“属性”
  • “属性”窗口中,单击左侧窗格中的“安全性”,选择“SQL Server和Windows身份验证”
  • 单击连接,选中“允许远程连接”选项…单击确定
  • 打开SQL配置管理器,开始>程序>Microsoft SQL Server>配置工具>SQL Server配置管理器
  • SQL Server网络配置(展开),选择MSSQL的协议,右键单击TCP,选择属性(应启用TCP)
  • 单击IP地址选项卡,检查IP1是否已启用,动态端口是否为0,TCP端口是否为1433
  • 一直向下滚动到IPAll部分,在TCP动态端口中输入0,在TCP端口中输入1433。确定
  • 返回左侧窗格,单击SQL Server服务,右键单击SQL Server选项,然后选择“重新启动”。 (注意:SQL Browser server不影响连接,浏览器服务仅列出可用的服务器,带有特定的连接参数,无需启动或担心浏览器)
  • 测试: 您不必转到远程客户端进行测试,首先尝试从服务器上的同一SSMS窗口进行连接。这会减少最初可能出现的所有其他问题,如果您可以在此处进行连接,您可以确认它可以正常工作。如果在您自己的服务器上无法正常工作,则问题与Windows安全和SQL安全相关d设置

  • 在对象资源管理器(SQL server Management Studio)下,单击“连接”>数据库引擎
  • 在服务器名称:,输入您的公共IP,一个逗号,然后输入
    1433
    。例如,如果您的公共IP是
    54.4.4.4
    ,请输入
    54.4.4.41433
  • 选择身份验证为“SQL Server”,输入登录用户和密码。
  • 如果您使用的是“sa”,请记住更改密码
  • 如果您的连接在本地工作,那么您可以尝试远程客户端连接
  • 此时,您知道您的SQL server和用户设置是正确的
  • 接下来,尝试在另一台计算机上使用SSM。如果失败,可能需要重新检查防火墙

    理解问题的好地方,是可以从SSM轻松访问SQL日志,在左侧窗格中,展开管理,然后是SQL Server日志,当前日志将列出所有问题

    所以,这些都是涉及到的部分——错过一个,你会感到沮丧,但在测试时,首先要减少这些部分

    我能够从Windows设备连接到AWS Windows Server/SQL Express上的数据库


    祝你好运!

    你的端口打开了吗?你能连接到EC2实例上运行的任何服务吗?我如何检查这些东西?对不起,我对此有点不明白。你能在“数据连接”下查看你的数据库吗“在VS中的服务器资源管理器中?通常情况下,连接字符串中的一个小细节可能已关闭。没有数据连接。这就是问题的症结所在。我在启动实例和配置SQL Server之间遗漏了一步。我甚至尝试打开我能想到的每个可用端口。这可能超出了您的要求,但我会设置一个微型RDS实例,并使用连接字符串将其集成到您的应用程序中。它将为您简化事情,并将您的数据库从应用程序服务器中抽象出来。使用此方法将此DB连接到Visual Studio应该没有问题。您还应该在本地计算机上包括防火墙。