尊重现有分区而不是创建新分区

问题描述 投票:0回答:1

我们有一个现有的数据库和一个基于 DACPAC 的部署程序,可以在部署时向其发送架构更新。 数据库具有现有的分区函数和现有的分区方案,使用数据库的应用程序将在运行时创建新的分区方案。目前我们看到SSDT删除现有分区并重建表。列数据不会丢失,但应用程序创建的分区方案会丢失。

当我们将 DACPAC 部署到现有数据库实例时,我们可以做什么来阻止 SSDT 删除现有分区方案?

编辑:我们已经尝试过“忽略分区方案”(由https://dba.stackexchange.com/a/18826/23463建议)和“忽略分区功能”(相同的高级设置区域)。这并没有改变结果。

编辑2:所有这些选项都已尝试过。这是我的 dbas 的消息:

这是关于我们的应用程序,其中分区是在运行时创建的。每当我们将主 dacpac 应用于数据库时,它都会重新创建分区函数和方案,从而删除运行时创建的任何分区。 我们尝试了:如下所示的几种选项。根据文档,它们应该可以工作,但不能工作

/p:ExcludeObjectType=PartitionSchemes
/p:ExcludeObjectType=PartitionFunctions 
/p:IgnoreObjectPlacementOnPartitionScheme=true 
/p:IgnorePartitionSchemes=true 
/p:IgnoreTablePartitionOptions=true 
/p:DoNotDropObjectType=PartitionSchemes  
/p:DoNotDropObjectType=PartitionFunctions 
database-partitioning dacpac ssdt-2019
1个回答
0
投票

需要额外的魔法来保持分区不变:

/p:IgnoreIndexOptions=true /p:IgnoreTableOptions=true

© www.soinside.com 2019 - 2024. All rights reserved.