我正在尝试建立一个平滑的部署过程,我们可以使用单个部署脚本部署到生产或开发SQL服务器。
但我不知道如何最好地管理两个环境之间的用户和权限。例如,在开发中,我们希望开发人员组具有db_owner
数据库角色。在制作时,我们要么不想访问,要么只想要datareader
角色。
我认为最简单的方法是在每台服务器上设置一次用户,然后不将它们保存在数据库项目中。但是在部署过程中它们会被丢弃。
我是否可以通过Visual Studio中的项目配置来实现此目的?
我们正在使用完整的Microsoft堆栈
vsdbcmd
用于部署答案 0 :(得分:2)
有些事情可以让这更容易:
-
if ('$(Environment)' = 'DEV')
begin
create user [domain\developers]
exec sp_addrolemember @rolename='db_owner', @membername='domain\developers'
end