1

我们有两个环境——开发环境和生产环境。

我们在开发环境和生产环境中有不同的用户组,但是在数据库项目中似乎没有很好的方式来表示这一点——每当我们部署它时,它就会清除现有用户,我们只能有一套 - 生产用户或开发用户。

我想包括基于 SQLCMD 变量切换的脚本以创建适当的用户,但这似乎很讨厌。

我觉得我错过了数据库项目的某些部分,因为这似乎是一种在任何地方都会出现的情况。数据库项目中是否有能力处理在不同环境中创建不同的用户/角色成员集?

有一个关于 2008R2 的现有问题似乎表明没有,但我乐观地认为 2012 年可能会发生一些变化以提供此功能。

4

1 回答 1

3

可悲的是,这是 SSDT 缺乏的一个领域。您需要以不同的方式构建您的权限和用户。我已经写了我们在这里使用的方法(与 Jamie Thomson 的想法有关):http ://schottsql.blogspot.com/2013/05/ssdt-setting-different-permissions-per.html

基本上,我们在一系列脚本中构建权限,并根据传递给 SQLPackage 命令的变量应用它们。这也为我们在其他领域提供了一些灵活性,例如不在那些环境中运行某些脚本,但第一次设置很痛苦。

于 2014-11-19T01:28:17.133 回答