这是几年前这个问题的后续,在 SQL 2014 中拆分现有分区,现在从 2011 年一直到 2021 年都有分区年。
我需要通过将数据从这些分区移动到新的表/数据库来归档分区 2011 到 2015,然后归档这个数据库,并从原始日志表中删除 2011 到 2015 的分区。
我使用以下语句成功地将数据移出到 Log_Archive 表中。
ALTER TABLE dbo.Log
SWITCH PARTITION $PARTITION.pfYearlyPartition_Log('20120101')
TO dbo.Log_Archive PARTITION $PARTITION.pfYearlyPartition_Log_Archive('20120101');
我不确定现在如何从 Log 表中删除该分区,因为它仍然存在但其中包含 0 行。有人可以建议吗?您可以在下面看到我已成功将数据从 Log 移动到 Log_Archive 但我在原始 Log 表中留下了 0 行要删除的行。
我希望我不需要重新分区整个表,因为它非常大。
一旦分区为空并且使用相同分区函数的分区方案上的其他分区表在相应分区中没有数据,只需使用ALTER PARTITION FUNCTION合并空分区中的边界点。