我正在尝试实施Sql Server Data Tools sqlproj项目的小型试点项目,以便更好地将我们的数据库置于源代码管理之下。在我的组织中,我们为各种目的的测试环境设置了单独的不信任域,因此这些域当然有自己独立的活动目录帐户。
文档仍然有点稀疏,我真的不知道该去哪里获取有关此工具集的更多信息,特别是考虑到Visual Studio历史数据库资产的大量流失。
到目前为止,我真正唯一的想法就是为每个独立域的安全对象专门制作单独的sqlproj项目,与其他模式对象分开。我希望不知何故,我可以将我的实际数据库模式与部署时的数据库模式联系起来,并以某种方式切换我在构建中使用的安全项目。我不知道这是否可行。
有没有使用Visual Studio sqlproj项目的人必须处理这个问题?这种事情有最好的做法吗?
答案 0 :(得分:2)
如果您为每个环境设置了不同的设置,那么最简单的方法是将其保留,不要在部署时删除它们,也不要手动设置后部署脚本。
通常,为了处理不同的配置,我建议使用sql cmd变量(在项目的属性上有一个用于设置它们的页面)但是当你创建一个登录时,你不能使用变量来创建它以便倒下!
有一个关于如何为这种情况设置post deploy wrapper的示例:
http://schottsql.blogspot.co.uk/2013/05/ssdt-setting-different-permissions-per.html
祝ssdt好运,有一些奇怪的怪癖,但它能带来这么多!