【问题标题】:Minimum Database Permissions for EF Code First DropCreateDatabaseIfModelChangesEF Code First DropCreateDatabaseIfModelChanges 的最低数据库权限
【发布时间】:2012-08-15 12:01:57
【问题描述】:

我们使用的是 EF4.3 和 Code First。

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

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

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

是否有任何文档可以让我们的 DBA 参考以帮助解释所需的内容?

【问题讨论】:

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


    【解决方案1】:

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

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

    您还需要 Master 数据库的读取权限。

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

    【讨论】:

    • +1 表示您的实际答案,但应该以“否”开头,因为 DropCreateDatabaseIfModelChangesDropCreateDatabaseAlways 相同:都需要删除和创建权限。
    • @hvd:你说得对 - 我将问题转换为 “删除和创建数据库需要什么权限?”我将编辑我的答案。跨度>
    猜你喜欢
    • 2016-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多