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

4
我们正在使用EF4.3和Code First。
我们的数据库管理员非常希望减少开发人员对开发数据库的权限。但是,当我们调用DropCreateDatabaseIfModelChanges之后,我们已经无法创建数据库了。
用户能够调用DropCreateDatabaseIfModelChangesDropCreateDatabaseAlways所需的最低数据库权限是什么?
这些是否需要不同的权限?
有没有文档可以参考,以帮助解释所需的内容?
1个回答

5

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

  • 数据库可以由其所有者删除 - 此权限局限于数据库本身(在SQL Server中为db_owner)。
  • 只有具有全局服务器权限以创建数据库的用户才能创建数据库 - 通常只授予高度特权用户(在SQL Server中为dbcreator角色)。

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

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


不过您的实际答案值得一加,但是它应该以“不”开头,因为对于DropCreateDatabaseIfModelChangesDropCreateDatabaseAlways来说是相同的:两者都需要删除和创建权限。 - user743382
@hvd:你说得对 - 我把问题转化为“需要哪些权限才能删除和创建数据库?”我将编辑我的答案。 - Ladislav Mrnka

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