尝试将简单的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数据库,我该如何解决这个问题?
答案 0 :(得分:1)
如前所述,SQL Azure具有master
数据库,通常当您看到此消息表示连接字符串中使用的SQL用户无权访问相关数据库。或者DB不存在,即拼写错误的名称。