Entity framework 代码优先迁移,sql 用户权限?

Entity framework code first migrations, sql user permissions?

sql 服务器 user/login 需要多少权限才能运行 entity framework 代码优先数据库迁移?

我天真地认为具有 db_datareader、db_datawriter、Grant Alter on the Schema 和 Grant Create Table 角色的用户就足够宽容了。

本地:SQL 服务器 AD/sql 登录

您需要对数据库具有以下权限。

[db_datareader]
[db_datawriter]
[db_ddladmin]

完全控制数据库使用

[db_owner]

Azure 可以:Azure SQL 与 ADD(编辑)

请将 [dbmanager] 添加到主数据库和用户数据库。

显然这取决于您的迁移正在/(将要)做什么。对于我的用例,我最终创建了一个 shema,并将迁移使用的用户限制为以下权限。

GRANT ALTER, INSERT, SELECT, DELETE, UPDATE, REFERENCES ON SCHEMA::schema_name TO migration_user
GRANT CREATE TABLE TO migration_user