Arquivar o mês de chamadas com T-SQL, sem arquivo de backup
[!NOTE] Resumo Executivo (DEV-2026-044): Montar Base Histórica deixou de ser BACKUP e RESTORE em arquivo. O worker copia tabela a tabela entre bases da mesma instância e grava o que fez.
🚨 O Desafio Técnico / Contexto
O utilitário antigo gerava arquivo de backup e restaurava em outra base. No Docker isso exige volume, permissão de arquivo e um passo manual. Uma falha no meio do mês não dizia qual tabela já tinha saído da base quente.
💡 Principais Lições Aprendidas & Descobertas
- 💡 O contrato é INSERT na base histórica, conferir a contagem e só então DELETE na base quente.
- 💡 Não há desfazer automático se a tabela seguinte falhar. O histórico auditável marca até onde o lote chegou.
- 💡 O agendamento mora em tabela de configuração. A tela PHP só chama a API. O motor é o worker .NET 9.
🛠️ Especificação Técnica & Código-Chave
-- Mesma instância SQL Server, duas bases
INSERT INTO LorentzHistorico.dbo.CTI_CHAMADA
SELECT * FROM LorentzCTI.dbo.CTI_CHAMADA
WHERE DataInicio >= @ini AND DataInicio < @fim;
-- Só apaga na quente depois de a contagem bater
-- O lote fica em CTI_BASEHISTORICA_HISTORICO
📈 Impacto no Ecossistema & Valor Prático
O arquivamento mensal roda como serviço, com rastro do que já foi movido.
- Projetos Relacionados:
omnichannel,lorentz-vps-stack,supervisor - Registro de Origem:
_data/daily.dev-03.yml
Publicado originalmente como parte do Diário de Desenvolvimento 2026 do ecossistema Artes do Sul & Araguaci.