数据库“master”中的CREATE DATABASE权限被拒绝 - 使用Web Deploy,EF Code First,Visual Studio

时间:2013-05-27 21:35:11

标签: asp.net sql-server sql-server-2008 visual-studio-2012 webdeploy

Visual Studio 2012 Express,EF5,Code First Migrations,Web Publish。

我正在使用Visual Studio 2012中的Web Deploy从Windows 8笔记本电脑进行Web发布到Windows Server 2008 R2 Web服务器。

文件上传得很好。但我得到这个错误: 数据库'master'中的CREATE DATABASE权限被拒绝

当Code首次尝试创建数据库时。

Web发布向导使用Windows用户登录 - 该用户对master数据库具有db_owner权限。

我需要做什么才能授予CREATE DATABASE权限? (或者查看哪个用户试图这样做 - 错误由于某种原因没有报告?!)。

感谢。

2 个答案:

答案 0 :(得分:9)

我刚遇到这个问题,我按照here的说明解决了这个问题。实际上,必须首先添加“IIS APPPool \ DefaultAppPool”用户。添加它时,请确保 作为“服务器角色”,它是一个“系统管理员”。

答案 1 :(得分:1)

如果您从IIS运行应用程序,则IIS APPPOOL \ {您的apppool name}是尝试创建数据库的SQL用户。如果你的sql server中没有这样的用户,那么创建一个名为IIS APPPOOL \ {你的apppool name}的用户,并给服务器角色dbcreator,public和sysadmin。现在我希望你不会看到错误,代码首先应该创建db。