EF 4.1 CF + Azure:数据库'master'中的CREATE DATABASE权限被拒绝

时间:2011-12-15 08:54:22

标签: azure ef-code-first credentials azure-sql-database

我有一个使用EF 4.1 Codefirst的ASP.NET WebForms应用程序。 第一次运行我的应用程序会创建一个新的数据库,表等。 到目前为止,一切都运转正常。

但是在将我的应用程序作为WebRole添加到Azure项目后,当我第一次访问数据库时,我收到了一条错误消息(数据库“master”中的CREATE DATABASE权限被拒绝)。

显然,如果我在VS开发Web服务器内部或Azure模拟器内启动我的应用程序会有所不同。

以下是我认为可能相关的一些其他信息:

  • 运行应用程序时,数据库不存在
  • Visual Studio 2010以管理员身份运行
  • 我的网络角色的信任级别:完全信任
  • SQL Server服务(MS SQL 2008 R2 Express)已启动并正在运行

我的web.config中的连接字符串如下所示:

<add name="dbContext" connectionString="server=(local)\SQLEXPRESS;database=myDB;Integrated Security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />

我也尝试使用真实用户而不是“集成安全性”。该用户已分配了所有可能的数据库角色,包括sysadmin,serveradmin等。

如何在我的应用程序中授予必要的权限,以便在Azure模拟器中运行时允许创建数据库?

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

Azure模拟器使用“网络服务”帐户的凭据运行。您需要在主数据库上添加“网络服务”帐户的凭据。