【发布时间】: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