Treinamento SQL Server

Módulo 22 — Particionamento de Tabelas & Sliding Window

Functions, schemes, partition switching, manutenção por partição e janelas deslizantes.

T-SQL Nível Avançado Hands-on Atualizado: 28 ago 2025

1) Conceitos

Particionamento divide dados por intervalo (ex.: Data).

2) Partition Function & Scheme

CREATE PARTITION FUNCTION pf_Data (date) AS RANGE RIGHT FOR VALUES('2024-01-01','2025-01-01');

3) Criando Tabela Particionada

CREATE TABLE dbo.Fato(Data date NOT NULL, Chave int NOT NULL, Valor decimal(12,2)) ON ps_Data(Data);

4) Switch In/Out

ALTER TABLE dbo.Fato_Stg SWITCH PARTITION 2 TO dbo.Fato PARTITION 2;

5) Índices Particionados

CREATE CLUSTERED INDEX CI_Fato ON dbo.Fato(Data,Chave) ON ps_Data(Data);

6) Manutenção por Partição

ALTER INDEX CI_Fato ON dbo.Fato REBUILD PARTITION=2;

7) Demo Sliding Window

ALTER PARTITION FUNCTION pf_Data() SPLIT RANGE ('2026-01-01');

8) Laboratório

-- Criar PF/PS e medir REBUILD parcial

9) Exercícios

  1. Implementar SWITCH OUT do mês fechado.

10) Gabarito

SELECT $PARTITION.pf_Data(Data), COUNT(*) FROM dbo.Fato GROUP BY $PARTITION.pf_Data(Data);

11) Erros & Dicas

12) Próximos Passos