AspNet Identity Framework在SQL Azure上写入master数据库

时间:2014-10-22 16:01:31

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

尝试将简单的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数据库,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

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