我在CI构建中运行SqlPackage来部署dacpacs并使用/ Profile开关传入publish.xml文件。我在配置文件中设置了以下三个选项:
<DropObjectsNotInSource>True</DropObjectsNotInSource>
<DoNotDropPermissions>True</DoNotDropPermissions>
<DoNotDropUsers>True</DoNotDropUsers>
然而,当我运行dacpac部署时,它仍然试图放弃我的用户。有什么想法吗?
答案 0 :(得分:3)
(遗憾的是)SqlPackage.exe处理发布配置文件存在一个错误,因此DoNotDrop和Exclude选项不受尊重。这将在即将推出的SqlPackage.exe版本中修复。在此期间您是否尝试过使用此SqlPackage.exe命令行参数?
/p:DoNotDropObjectTypes=Permissions;Users
答案 1 :(得分:1)
检查SqlPackage.exe上的时间戳和版本。你可能会说错了。
将尊重DoNotDrop和Exclude选项的那个应该标记为7/30/2015 3:04 AM,版本为12.0.3021.1并且位于: C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ Extensions \ Microsoft \ SQLDB \ DAC \ 120
另一个(不遵守这些设置)标记为2014年3月28日下午10:56,版本为12.0.1294.0,位于 C:\ Program Files(x86)\ Microsoft SQL Server \ 120 \ DAC \ bin