SSDT如何:部署.dacpac而不丢失自定义客户端数据库对象?

Vin*_*ves 2 sql-server deployment version-control visual-studio sql-server-data-tools

我在Visual Studio中使用数据库项目.

在我的场景中,我有客户直观地定制我为他们提供的数据库.

例如,客户端与第三方签订合同为他们创建自定义系统,然后第三方在我的数据库中创建一些表.

我知道我永远不应该允许第三方访问我的数据库,但我正在工作的公司允许这样做.

在部署.dacpac时,如何排除不属于我的架构的这些对象?我想这可能是不可能的,在这种情况下我该怎么办?

SAS*_*SAS 5

这是可能的,而且通常非常有用.目标中可能存在您不想丢弃的对象.我们总是使用单独的drop-script以受控方式(非自动)将对象放入生产dbs中.

有一个msbuild参数,不会删除在目标中找到但在源中没有的对象.只需使用参数"将对象放在目标中但不在项目中"将其设置为false.此设置将保持这些对象不变.从VS内部发布时,该选项也存在.

DropObjectsNotInSource = FALSE