关于 sql server:[ADO.NET 错误]:数据库\\’master\\’中的 CREATE DATABASE 权限被拒绝。尝试为文件 HelloWorld.

关于 sql server:[ADO.NET 错误]:数据库\\’master\\’中的 CREATE DATABASE 权限被拒绝。尝试为文件 HelloWorld.

[ADO.NET error]: CREATE DATABASE permission denied in database 'master'. An attempt to attach an auto-named database for file HelloWorld.mdf failed

CREATE DATABASE permission denied in database 'master'.
An attempt to attach an auto-named database for file
C:\\Documents and Settings\\..\\App_Data\\HelloWorld.mdf failed.
A database with the same name exists, or specified file cannot be
opened, or it is located on UNC share.

我找到了这些链接:

  • http://blog.benhall.me.uk/2008/03/sql-server-and-vista-create-database.html
  • http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=702726


    通常,您用于运行 SQL Server 服务的用户将无权访问您的个人用户文件夹,这就是您收到错误的原因。您要么需要更改用于服务的凭据,要么将数据库移动到另一个文件夹,这在您的案例中起到了作用。


    我今天被困在这个问题上,首先是 mvc3 和实体框架代码中的复合问题。

    我的 SqlExpress 安装搞砸了(权限问题),所以我切换到 SqlCE。

    我的 ConnectionString.Name 属性与我的"ProjectNameContext"类名不匹配。

    当未找到连接字符串时,它使用默认约定。默认约定意味着我的 SqlExpress 服务具有像"ProjectNameContext"这样的数据库名称。权限搞砸了,所以当我以为我在使用 SqlSE

    时,我在 SqlExpress 上遇到了权限错误


    对我来说,在 web.config 文件的 system.web 标签下设置这个标签有很大帮助:

    1
    2
    3
    system.web
        identity impersonate="true" userName="admin_user" password="admin_password" /
    ...

    希望这可以帮助某人


    我也遇到了同样的问题,最后我找到了解决方案-
    解决方案——很简单将数据库从 App_Data 文件夹移动或剪切到任何位置(例如桌面),然后将数据库移动或剪切回 App_Data 文件夹。
    就是这样…………

    希望它成功!


    对于像我这样的人,请将"User Instance=true"添加到您的连接字符串中


    我的朋友通过使用另一个目录来修复它,即 C:\\\\TEMP。我认为这只是权限问题。


    是的,以前的附件未正确取消附加,或者是手动附加的。进入 Management Studio 连接到数据库,并断开看起来像文件路径的长数据库名称。然后再试一次它应该可以工作。


推荐阅读