Functions, schemes, partition switching, manutenção por partição e janelas deslizantes.
Particionamento divide dados por intervalo (ex.: Data).
CREATE PARTITION FUNCTION pf_Data (date) AS RANGE RIGHT FOR VALUES('2024-01-01','2025-01-01');
CREATE TABLE dbo.Fato(Data date NOT NULL, Chave int NOT NULL, Valor decimal(12,2)) ON ps_Data(Data);
ALTER TABLE dbo.Fato_Stg SWITCH PARTITION 2 TO dbo.Fato PARTITION 2;
CREATE CLUSTERED INDEX CI_Fato ON dbo.Fato(Data,Chave) ON ps_Data(Data);
ALTER INDEX CI_Fato ON dbo.Fato REBUILD PARTITION=2;
ALTER PARTITION FUNCTION pf_Data() SPLIT RANGE ('2026-01-01');
-- Criar PF/PS e medir REBUILD parcial
SELECT $PARTITION.pf_Data(Data), COUNT(*) FROM dbo.Fato GROUP BY $PARTITION.pf_Data(Data);