EF Code First DropCreateDatabaseIfModelChanges的最小数据库权限

时间:2012-08-15 12:01:58

标签: entity-framework ef-code-first entity-framework-4.3

我们正在使用EF4.3和Code First。

我们的DBA热衷于减少开发人员对开发数据库的权限。但是,当我们拨打DropCreateDatabaseIfModelChanges

时,我们已经有许多情况导致我们无法创建数据库

用户能够同时呼叫DropCreateDatabaseIfModelChangesDropCreateDatabaseAlways所需的最低数据库权限是什么?

这些需要不同的权限吗?

是否有任何文档可以引用我们的DBA来帮助解释所需内容?

1 个答案:

答案 0 :(得分:5)

两个初始化程序都需要删除和创建数据库的权限。这些操作需要非常不同的权限:

  • 数据库可以由其所有者删除 - 此权限已本地化到数据库(SQL Server中为db_owner)。
  • 只有具有全局服务器权限才能创建数据库的用户才能创建数据库 - 通常只向高权限用户提供权限(SQL Server中的dbcreator角色)

您还需要在Master数据库上进行读访问。

顺便说一下。如果这与开发环境有关,则应使用自己的本地数据库服务器。