【问题标题】:Entity Framework 4.3 with SQL Server Express migration exception具有 SQL Server Express 迁移异常的实体框架 4.3
【发布时间】:2012-03-30 09:04:57
【问题描述】:

我已经为我的 ASP.NET MVC 和 Entity Framework 4.3 项目设置了一个(远程)SQL Server Express。在我使用 SQL Compact 的本地机器上,一切正常。当我尝试连接到 SQL Express 服务器时,我在调用 migrator.Update() 时收到以下错误:

The INSERT permission was denied on the object '__MigrationHistory', database 'MyDataBase', schema 'dbo'.

在服务器上我做了以下事情:

  • 使用 SQL Server 凭据创建用户
  • 创建了一个名为 MyDataBase 的数据库

有什么想法吗?

【问题讨论】:

  • 您是否让您的用户对您的数据库有任何权限?当您创建 SQL 凭据时,它实际上只是登录。您不必在与登录关联的数据库中创建用户,并为其授予对数据库允许的操作的权限。
  • @LadislavMrnka 我创建了一个新用户和新数据库,现在它可以工作了,我想我搞砸了第一个数据库中的权限。谢谢。

标签: entity-framework c#-4.0 ef-code-first sql-server-express entity-framework-4.3


【解决方案1】:

对于创建的用户,必须取消选中 DB 角色 db_denydatareader,db_denydatawriter

【讨论】:

  • 这对我也有用。数据库 -> 安全 -> 用户 -> 右键单击​​您的用户 -> 属性 -> 成员资格 -> 取消选中“db_denydatareader”和“db_denydatawriter”
【解决方案2】:

我也遇到了这个错误。为了解决这个问题,我将 db_owner 添加到我用户的“数据库角色成员资格”中,并选中了“此用户拥有的模式”下的 db_owner 复选框(SSMS 2008)。

【讨论】:

    猜你喜欢
    • 2021-07-01
    • 2020-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-07
    相关资源
    最近更新 更多