Monitoração de dados

Quem é administrador de um sistema se depara muitas vezes com uma pergunta: até ontem esse cliente estava com o parâmetro X, mas hoje está Y...quem alterou?

Para responder essa questão, é possível desenvolver uma trigger de monitoramento dos dados de uma tabela, para saber quais dados foram alterados e por qual usuário, por exemplo.

No banco de dados existem duas tabelas nativas: deleted e inserted. Essas tabelas armazenam os dados antes (deleted) e após (inserted) a alteração. A partir delas, é possível fazer o monitoramento do que foi alterado.

No meu caso, assim como na maioria, será necessário trabalhar com 4 tabelas: a tabela em que os dados foram alteradas; deleted, para recuperar os dados antes da alteração; inserted, para recuperar os dados após a alteração; tabela destino, cuja armazenará os dados do monitoramento. A tabela deleted e inserted possuem a mesma estrutura da tabela onde os dados foram alterados, então nelas é possível recuperar qualquer campo.

Para verificar como é feito, verifique a figura abaixo.