Esta é uma continuação para esta pergunta há alguns anos dividindo partições existentes no SQL 2014 , onde agora há anos de partição para 2011 até 2021.
Preciso arquivar partições de 2011 a 2015 movendo os dados dessas partições para uma nova tabela/banco de dados e, em seguida, arquivar esse banco de dados e remover as partições de 2011 a 2015 da tabela de log original.
Estou movendo com sucesso os dados para uma tabela Log_Archive com a seguinte instrução.
ALTER TABLE dbo.Log
SWITCH PARTITION $PARTITION.pfYearlyPartition_Log('20120101')
TO dbo.Log_Archive PARTITION $PARTITION.pfYearlyPartition_Log_Archive('20120101');
O que não tenho certeza é como agora removo essa partição da tabela Log, pois ela ainda está lá, mas com 0 linhas dentro dela. Alguém pode aconselhar? Você pode ver abaixo que movi com sucesso os dados de Log para Log_Archive, mas fiquei com 0 linhas na tabela de log original que desejo remover.
Espero não precisar re-particionar toda a tabela, pois é muito grande.
Quando a partição estiver vazia e nenhuma outra tabela particionada em um esquema de partição usando a mesma função de partição tiver dados na partição correspondente, basta usar ALTER PARTITION FUNCTION para MERGE ponto limite na partição vazia.