4

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

我们的 DBA 热衷于减少开发人员对开发数据库的权限。但是我们遇到过很多情况,当我们调用时数据库被删除后我们无法创建数据库DropCreateDatabaseIfModelChanges

用户能够同时调用DropCreateDatabaseIfModelChanges和所需的最低数据库权限是DropCreateDatabaseAlways多少?

这些是否需要不同的权限?

是否有任何我可以参考我们的 DBA 的文档来帮助解释需要什么?

4

1 回答 1

5

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

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

您还需要对 Master 数据库进行读取访问。

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

于 2012-08-15T12:16:03.407 回答