Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal,
Aqui na empresa temos uma tabela de log e triggers em todas as outras tabelas para auditoria, então tudo que é inserido, atualizado ou deletado em qualquer tabela é registrado em uma tabela de log, porém temos um processo, desenvolvido recentemente, que realiza em média 3000 inserts e updates em umas 4 ou 5 tabelas, e dependendo do momento esse número pode chegar a 10 mil inserts e updates facilmente.
Em todas as execuções a trigger da auditoria é ativada, e isso torna o processo demorado, algo em torno de 8 minutos, e durante esse tempo, por tudo isso estar dentro de uma transaction, as tabelas das quais faço inserts e updates ficam bloqueadas, parando o serviço de um setor inteiro aqui da empresa. Quando removi a trigger o mesmo processo levou 0.4 segundos, é uma diferença de performance absurda pra se ignorar, porém a auditoria também é imprescindível.
A questão é, se eu conseguir ler o arquivo LDF, e saber por ex: Quem criou o cliente X, quem atualizou? Quando foi atualizado? quando foi criado? se foi deletado, quem deletou e quando?, se conseguir resolver esse tipo de questão com o arquivo LDF, eu posso abandonar essas triggers da auditoria. Alguém sabe me explicar uma forma de eu conseguir resolver isso só com o LDF? Meu sql server é o 2012, 64 bits.
Já tentei alguns programas (SQL Log rescue (só funciona no 2000), Apex SQL Log (terrívelmente lento)). Alguém tem alguma outra idéia?
Obrigado.
Carregando comentários...