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

时间:2015-10-28 11:32:16

标签: sql-server database visual-studio triggers database-project

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

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

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

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

我已尝试解开"删除不在源代码中的DML触发器"在Advance Deployment Settings,但这没有用。

enter image description here

其他人有什么想法吗?

PS: 我正在使用Visual studio 2015

我的其余部署设置如下: enter image description here enter image description here enter image description here

1 个答案:

答案 0 :(得分:3)

所以我发现了问题。

当我设置我的Advanced Deployment Properties时,我的目的是:

  1. 右键单击数据库 - 属性
  2. 转到调试选项卡(2015年没有像文档中提到的“部署”选项卡)
  3. 使用"高级"更改此处的部署选项底部的按钮。
  4. 然后我意识到当我在项目上点击Publish时,此处有一个Advanced按钮。

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

    我从此屏幕中删除了Drop DML Triggers支票并且有效

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