Mat*_*att 12 sql-server-data-tools
有没有办法阻止用户在使用SqlPackage.exe发布DACPAC时被删除,除了更改下面的设置,这可以防止所有对象在DACPAC中不被删除.
<DropObjectsNotInSource>True</DropObjectsNotInSource>
Run Code Online (Sandbox Code Playgroud)
我们部署到许多环境,每个环境都有不同的用户.目前的解决方法是:
/Action:Script
并手动更改部署脚本.虽然这些都不是理想的......
Tuu*_*emi 11
使用SqlPackage.exe参数(自2015年2月发行版:新的高级发布选项以指定要排除或不删除的对象类型):
这是我们在部署中使用的实际参数:
/p:DropObjectsNotInSource=True
/p:ExcludeObjectTypes=Users;Logins;RoleMembership;Permissions
Run Code Online (Sandbox Code Playgroud)
第一行清除所有,但下一行进一步细化了不会掉落的东西.这种组合证明了我们最有效的方法是删除所有不必要的对象,同时保留登录映射.
可以从MSDN - SqlPackage.exe中找到所有参数及其可能值的详细文档