【问题标题】:AspNet Identity Framework writing to master database on SQL AzureAspNet Identity Framework 写入 SQL Azure 上的主数据库
【发布时间】:2014-12-18 03:56:51
【问题描述】:

我在尝试将简单的 MVC 网站部署到 Azure 时遇到了问题。我正在使用 1 个 Azure 网站和 1 个 Azure SQL 数据库。

VS2013 中的样板 MVC 模板使用 Microsoft.AspNet.Identity.EntityFramework 提供程序作为 AccountController.cs 默认控制器。当我使用它在本地创建数据库时,一切正常。但是,当我部署到 Azure 网站并更新连接字符串时,该站点会抛出此错误:

Cannot open database "master" requested by the login. The login failed. Login failed for user 'vanillawebsite'.

在此处查看完整的堆栈跟踪:http://pastebin.com/r9jvXgyW(非常庞大)

显然,在 SQL Azure 上没有主数据库,因此 AspNet Identity Eneity Framework 的默认实现似乎需要它。手动将架构脚本写入数据库也无济于事(由于某种原因它仍然尝试访问 master)

为什么它试图访问 master 数据库,我该如何解决这个问题?

【问题讨论】:

  • 你使用什么连接字符串?
  • 不管怎样,SQL Azure 确实有一个主数据库。
  • 您在连接字符串中使用的 SQL 用户无权访问您的数据库。
  • @trailmax 就是这样——我实际上把数据库的名称弄错了。不过,错误消息非常具有误导性。感谢导致此解决方案的(简单!)建议。如果您将此作为答案发布,我可以标记以便您获得信用。

标签: asp.net-mvc entity-framework azure azure-sql-database asp.net-identity


【解决方案1】:

如前所述,SQL Azure 有master 数据库,通常当您看到此消息时,表示连接字符串中使用的 SQL 用户无权访问相关数据库。或者数据库不存在,即名称拼写错误。

【讨论】:

    猜你喜欢
    • 2017-05-11
    • 2018-04-21
    • 1970-01-01
    • 2021-06-15
    • 2015-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多