Advertisement
suporteorganiza

Limpeza de banco de dados do IBOLT

Nov 24th, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.25 KB | None | 0 0
  1. /*Os procedimentos para limpar a base de dados no futuro, se necessário, são estes:*/
  2.  
  3. /* 1. Você pode rodar o comando abaixo para ter uma média de documentos/mês para ajudá-la a decidir a data de corte (exclusão): */
  4.  
  5. SELECT COUNT(*), SUBSTRING(CONVERT(VARCHAR(23), DT_SOLIC_SERV, 112), 1, 6) AS MES_ANO FROM INT_NFECTL
  6. GROUP BY SUBSTRING(CONVERT(VARCHAR(23), DT_SOLIC_SERV, 112), 1, 6)
  7. ORDER BY SUBSTRING(CONVERT(VARCHAR(23), DT_SOLIC_SERV, 112), 1, 6) DESC
  8.  
  9. /* 2. Supondo que decida remover tudo que seja anterior ou igual a 31/Dez/2016 por exemplo, precisa descobrir o maior número sequencial do sistema até a data escolhida: */
  10.  
  11. SELECT MAX(CODE) FROM INT_NFECTL
  12. WHERE DT_SOLIC_SERV <= '20161231'
  13.  
  14. /* 3. Com o código retornado (ex: 276530), você deleta todos os registros das tabelas "INT_NFECTL" e "INT_NFECTL_???" que tenham o campo "CODE" <= a este valor retornado: */
  15.  
  16. DELETE FROM INT_NFECTL
  17. WHERE CODE <= 276530
  18.  
  19. DELETE FROM INT_NFECTL_AUTOQRY
  20. WHERE CODE <= 276530
  21.  
  22. DELETE FROM INT_NFECTL_IBCTRL
  23. WHERE CODE <= 276530
  24.  
  25. DELETE FROM INT_NFECTL_IBPRCTL
  26. WHERE CODE <= 276530
  27.  
  28. DELETE FROM [demais tabelas]
  29. WHERE CODE <= 276530
  30.  
  31. /* 4. Ao final, execute um shirink no banco de dados para recuperar o espaço liberado com estas exclusões.*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement