【问题标题】:Cannot create SQL Server DB within Amazon RDS Instance无法在 Amazon RDS 实例中创建 SQL Server 数据库
【发布时间】:2015-02-10 15:01:05
【问题描述】:

这似乎是一个常见问题,但是我还没有找到解决方案,而且许多相关问题都非常模糊。无论如何,我正在使用适用于 Visual Studio Pro 2013 的 AWS 工具包将 ASP.NET MVC 5 应用程序部署到 AWS。我已成功将应用程序发布到 Elastic Beanstalk,但作为 localDB 数据库 (.mdf) 存在的数据库文件除外.在尝试迁移这个(非常小的)数据库时,我为 SQL Server Express 创建了一个 RDS 数据库实例。我的问题是我无法创建 SQL Server 数据库,这似乎是 VS 用户的常见问题:我右键单击数据库实例,选择“创建 SQL Server 数据库”,VS 忙了一会儿,然后什么也没发生。

到目前为止我做了什么:

  • 我在具有安全组的 VPC 上创建了一个 RDS 实例,该安全组的入站规则集允许来自我的 IP 的所有流量
  • 我的 IAM 用户帐户具有以下策略:PowerUserAccess、AmazonS3FullAccess、AmazonVPCFullAccess(我想其中一些是多余的 - 我添加了其他策略以查看是否是权限问题)

所以为了简洁地陈述我的问题,为什么 Visual Studio 无法在数据库实例中创建 SQL Server DB?或者,是否有更简单的方法可以将我的数据库迁移到 AWS?

仅供参考,这些是我用来部署我的应用程序的参考资料:

我是 AWS 的新人,如果需要说明,请告诉我。

更新:我检查了我的实例的日志,我收到了错误日志

2014-12-12 18:16:02.72 服务器 SQL Server 网络接口库无法为 SQL Server 服务注册服务主体名称 (SPN) [MSSQLSvc/AMAZONA-E3AJMJI]。 Windows 返回代码:0xffffffff,状态:53。未能注册 SPN 可能会导致集成身份验证使用 NTLM 而不是 Kerberos。这是一条情报信息。仅当身份验证策略要求 Kerberos 身份验证并且尚未手动注册 SPN 时,才需要执行进一步操作。

还有

2014-12-12 18:47:23.72 登录错误:17806,严重性:20,状态:14。

2014-12-12 18:47:23.72 登录 SSPI 握手失败,错误代码为 0x8009030c,状态 14,同时与集成安全建立连接;连接已关闭。原因:AcceptSecurityContext 失败。 Windows 错误代码指示失败的原因。登录尝试失败 [CLIENT: 113.108.150.211]

2014-12-12 18:47:23.73 登录错误:18452,严重性:14,状态:1。

2014-12-12 18:47:23.73 登录 登录失败。登录来自不受信任的域,不能用于 Windows 身份验证。 [客户:113.108.150.211]

更新:问题已解决。我们在我的办公室使用代理服务器,这似乎导致 RDS 实例的身份验证失败,不允许我从我的机器连接。我接受了 Ossman 的回答,因为我认为它解决了我在尝试解决这个问题时遇到的许多类似问题。

【问题讨论】:

  • 部署失败后输出窗口显示什么?
  • @Black Frog:实际上并没有导致部署失败,我根本无法在我的 RDS 实例中创建 SQL Server 数据库

标签: asp.net sql-server amazon-web-services visual-studio-2013 asp.net-mvc-5


【解决方案1】:

这是针对 Visual Studio 2013 的 AWS 资源管理器错误,实际上是因为您在 RDS 中创建数据库实例时默认使用“默认安全组”。

  1. 在 AWS 管理控制台中访问 EC2 服务。

  2. 点击“安全组”,然后点击“创建安全组”

  3. 为其命名、描述并使用“vpc-0846aa61”作为 VPC。

  4. 然后为“入站”和“出站”规则添加以下规则

类型:“所有流量”

来源(用于入站):“任何地方”

目的地(出站):“任何地方”

  1. 然后创建安全组

  2. 返回您的数据库实例,然后将“默认”安全组更改为您刚刚创建的安全组。这是通过单击“实例操作”然后单击“修改”来完成的。

然后,当您在 Visual Studio 中右键单击您的实例并单击“创建 SQL Server 数据库”时,您应该能够看到以下窗口:

我的数据库实例:

【讨论】:

  • 感谢您的快速回复!不幸的是,我已经在使用非默认安全组。我想值得一提的是,RDS 实例在默认 VPC 中运行
  • 您已经修改了安全组的入站和出站规则,以允许“所有流量”,正如我在上面指出的那样?
  • 是的!它以前设置为只允许来自我的 IP 的流量,但我已经根据您的帖子更改了入站/出站
  • 我确实遇到了问题,但是当我更改入站/出站规则以允许所有流量时,VS 允许我创建 SQL 数据库。我已经在我的答案中发布了我的数据库实例的屏幕截图,因此您可以再次检查一切是否正常。这个数据库实例允许我创建一个 SQL Server 数据库。
  • 所以我的问题是由我们在工作中使用的代理服务器引起的。我认为奥斯曼的回答很有帮助,所以我接受它,因为它可能会帮助其他有类似问题的人。
猜你喜欢
  • 1970-01-01
  • 2017-02-14
  • 2017-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-21
相关资源
最近更新 更多