如何阻止数据库部署删除服务器触发器?

How do I stop Database deploy from removing Server Triggers?

我正在使用 Visual-Studio 数据库项目和 Publish 向导部署我的数据库。

初始部署工作正常,我的数据库与我的项目相同。然后,我将第三方工具应用于我的数据库,该工具将触发器添加到我的所有表中。

然后我将更新部署到我的数据库,它从我的数据库中删除了第三方触发器。

如何阻止我的部署删除服务器上但不在项目中的触发器?

我试过在 Advance Deployment Settings 中取消勾选 "Drop DML triggers not in source" 但这没有用。

还有其他人有什么想法吗?

PS: 我正在使用 Visual studio 2015

我的其余部署设置如下:

所以我发现了问题。

当我设置 Advanced Deployment Properties 时,我是通过以下方式设置的:

  1. 右键单击数据库 - 属性
  2. 转到调试选项卡(2015 年没有像文档中提到的部署选项卡)
  3. 使用底部的 "Advanced" 按钮在这里更改我的部署选项。

然后我意识到当我在我的项目上单击 Publish 时,这里有一个 Advanced 按钮。

单击 Publish 对话框中的 Advanced 按钮会显示与我在项目属性上获得的选项不同的选项。

我从这个屏幕上删除了 Drop DML Triggers 检查并且它起作用了

除此之外。然后我单击 Save Profile 并使用 Add Existing Item 将其添加到我的项目中 我然后使用 this answer 将此配置文件设置为我的默认发布配置文件