O procedimento abaixo precisa ser revisado para se tornar mais automatizado e menos suscetível a erros.
Inserir registros do banco principal no banco de auditoria. Foram feitos testes com até 5 milhões de inserts por vez com duração de cerca de 1h.
USE sei_auditoria
GO
INSERT INTO dbo.infra_auditoria ([id_infra_auditoria] ,[recurso] ,[dth_acesso],[ip],[id_usuario],[sigla_usuario],[nome_usuario],[id_orgao_usuario]
,[sigla_orgao_usuario],[id_usuario_emulador],[sigla_usuario_emulador],[nome_usuario_emulador],[id_orgao_usuario_emulador],[sigla_orgao_usuario_emulador]
,[id_unidade],[sigla_unidade],[descricao_unidade],[id_orgao_unidade],[sigla_orgao_unidade],[servidor],[user_agent],[requisicao],[operacao])
SELECT [id_infra_auditoria] ,[recurso] ,[dth_acesso],[ip],[id_usuario],[sigla_usuario],[nome_usuario],[id_orgao_usuario]
,[sigla_orgao_usuario],[id_usuario_emulador],[sigla_usuario_emulador],[nome_usuario_emulador],[id_orgao_usuario_emulador],[sigla_orgao_usuario_emulador]
,[id_unidade],[sigla_unidade],[descricao_unidade],[id_orgao_unidade],[sigla_orgao_unidade],[servidor],[user_agent],[requisicao],[operacao]
FROM sei.dbo.infra_auditoria
WHERE id_infra_auditoria <= 49000000 -- incrementar o valor a cada execução
Deletar os registros do banco principal. Foram feitos testes com até 1 milhão de registros por vez, acima disso o banco atualmente não consegue processar e dá erro.
use sei
go
-- incrementar o valor a cada execução, conforme valor do insert acima
delete from infra_auditoria where id_infra_auditoria <= 49000000