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