如何设置允许迁移的数据库权限

时间:2016-05-12 15:21:13

标签: sql-server entity-framework

修改 我找到了解决方案。此问题的详细信息:How to use a different connection string (but same database) for migrations

我创建了一个SQL Server登录名供我的网站使用:

USE Master
CREATE LOGIN website_live 
    WITH PASSWORD = N'ItsASecret', 
    DEFAULT_DATABASE = MyDb, 
    DEFAULT_LANGUAGE = British, 
    CHECK_EXPIRATION = OFF, 
    CHECK_POLICY = OFF
GO

然后我赋予它读写权限:

USE MyDb
CREATE USER website_live 
FOR LOGIN website_live 
    WITH DEFAULT_SCHEMA = dbo

EXEC sp_addrolemember N'db_datareader', N'website_live'
EXEC sp_addrolemember N'db_datawriter', N'website_live'

在我的连接字符串中使用该登录

一切正常,直到我从Visual Studio发布需要更改架构的数据库迁移(编辑:我的意思是改变数据库的结构。我不是说我想要更改网站正在使用的架构

我真的不想给网站永久的权限来改变数据库。我是否可以创建仅在迁移期间使用的另一个数据库用户?那会安全吗?我如何做到这一点,只需点击几下即可保持发布的便利性?

NB 我正在使用Entity Framework迁移。当我从Visual Studio发布网站时,网站会自动在浏览器中打开,如果要运行数据库迁移,则使用网站的凭据运行。

0 个答案:

没有答案