Entity Framework 4.3与SQL Server Express迁移异常

4

我为我的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凭据时,实际上只是登录。然后,你需要在与登录相关联的数据库中创建用户,并为其赋予对数据库上允许的操作的权限。 - Ladislav Mrnka
@LadislavMrnka 我创建了一个新用户和新数据库,现在它可以工作了,我认为我在第一个数据库中弄乱了权限。谢谢。 - Marthijn
2个回答

6

创建的用户必须取消勾选 db_denydatareaderdb_denydatawriter 数据库角色。


1
这对我也起作用了。数据库 -> 安全性 -> 用户 -> 右键单击您的用户 -> 属性 -> 成员资格 --> 取消选中 "db_denydatareader" 和 "db_denydatawriter"。 - Buchannon

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接