none
Varrer o log em busca de um delete RRS feed

  • Pergunta

  • Olá pessoal,,

    No dia 16 passado alguns registros de uma tabela do banco de dados sumiram misteriosamente.

    O nosso ERP no caso o Protheus, não deleta registros, mas usa um campo flag para marcar o registro quando o mesmo é deletado (faz um update e flega o campo), salvo algumas raras exceções.

    O fato ocorreu na tabela SC5 e SC6 que são o cabeçalho do pedido de vendas e os itens do pedido de vendas respectivamente.

    O fato estranho é que sempre após a inclusão do registro no caso o pedido, o sistema solicita a impressão do mesmo, e no caso, ocorreu a impressão do registro, tenho em mãos o relatório. Porém ao fazer um select no banco o registro não se encontra, é como se tivesse pulado a numeração, porém como informei foi impresso com a numeração correta e demais dados.

    Existe uma forma de ler o log do SQL Server e saber se esse registro foi deletado? Como fazer isso? Lembrando que são raras as exceções de delete que o banco efetua e para essas tabelas citadas eu não conheço exceção de delete.


    Rodrigo Santos

    sábado, 18 de janeiro de 2014 14:24

Respostas

  • Olá Rodrigo,

    Dependendo do seu recovery model, isso pode lhe ajudar.

    http://raresql.com/2012/10/24/sql-server-how-to-find-who-deleted-what-records-at-what-time/ 

    Caso o recovery model seja simple não há como.

    Abraço



    MCP – MCTS – MCITP – MCT SQL Server ADM / BI / Dev Sharepoint IBM Optim Certification http://demetriosilva.wordpress.com/

    segunda-feira, 20 de janeiro de 2014 16:37

Todas as Respostas

  • Olá Rodrigo,

    Dependendo do seu recovery model, isso pode lhe ajudar.

    http://raresql.com/2012/10/24/sql-server-how-to-find-who-deleted-what-records-at-what-time/ 

    Caso o recovery model seja simple não há como.

    Abraço



    MCP – MCTS – MCITP – MCT SQL Server ADM / BI / Dev Sharepoint IBM Optim Certification http://demetriosilva.wordpress.com/

    segunda-feira, 20 de janeiro de 2014 16:37
  • Blz.. o meu aqui é SIMPLE.. valeu

    Rodrigo Santos

    segunda-feira, 20 de janeiro de 2014 19:26
  • Rodrigo, bom dia,

    Aqui na empresa tambem trabalhamos com Protheus, e na semana passada ocorreu um erro de deleção de item do pedido de vendas igual ao seu relatado.

    Procuramos no SDU, audit trail, e nada de localizar o item que foi impresso no pedido.

    Desculpe incomodar, você conseguiu descobrir a origem da deleção ?

    Aqui na empresa no recovery model tambem é simples.

    Se puder dar um norte parta nós identificar. 

    marconi.melo@gmail.com

    Obrigado.

    quarta-feira, 5 de junho de 2019 11:48
  • Oi Marconi,

    Não descobrimos até hoje, porém isso não tem ocorrido mais com a frequência que estava.

    Mas pode acontecer sim.

    Eu desconfio muito que seja problema no banco de dados.

    Já aconteceu o seguinte, eu diz um SELECT num determinado registro e ele não me trouxe nada.

    Ao executar o select novamente depois de um tempo o registro foi exibido.

    Nosso banco tem mais de 400GB (sem TSS) e acredito que com alto índice de fragmentação nos dados e índices.

    Um analista Totvs, no caso o Carlos Magno, está pra fazer uma manutenção aqui em nosso banco que está muito lento por sinal.

    Nosso Banco é o 2008R2 muito antigo, a Totvs nem recomenda o seu uso mais pois é obsoleto e sem suporte.

    Infelizmente não conseguimos até hoje descobrir como esses registros somem como se não estivessem sido gravados. E se não estivessem impressos, eu iria dizer que era engano do usuário, mas foram impressos. Coisa de Protheus mesmo vai entender.


    Rodrigo Santos

    quarta-feira, 5 de junho de 2019 12:33
  • Vale lembrar que se não me engano, o Protheus controla registro deletados por um campo chamado D_E_L_E_T, ou seja, ele marca este campo como true ao invés de excluir o registro da base.
    quarta-feira, 5 de junho de 2019 13:47
  • Rodrigo, 

    Obrigado por responder.

    Nosso sql é 2012, com 150 gb, e esta lento.

    Agora não sei como vou responder para o Diretor, este caso de sumir o item.

    Mas, obrigado.

    Caso descobrir algo lhe informo.

    Abraço.

    quarta-feira, 5 de junho de 2019 16:18