Usuário com melhor resposta
Como criar um arquivo de log.

Pergunta
-
Boa tarde.
Preciso entender como criar um arquivo de Log.
Minha necessidade: O usuário "João do Pulo" inseriu um novo registro na tabela de Produtos.
O que eu quero saber é: Quem inseriu, em que tabela, qual o dia e a que horas. E mais algumas coisas que eu ainda nem imagino.
Não tenho a menor idéia de por onde começar.
Vou programar em MVC.
Marina.
Respostas
-
Marina, boa tarde.
Se vc fosse utilizar SQL server, indicaria utilizar o Change Data Capture. É muito simples utilizá-lo para controle de alterações em tabelas, mas infelizmente esta funcionalidade não é suportada no SQL Azure.
http://msdn.microsoft.com/en-us/library/windowsazure/ff394115.aspx
O ideal é seguir a dica do Alexandre, utilizando triggers DML nas tabelas que deseja controlar transações.
Quanto a sua dúvida de perfomance da trigger, tudo vai depender do código dela. Se preocupe em deixar o seu código o máximo otimizado possível. Se preocupe com níveis de isolamento, caso haja muita concorrência de dados, índices, etc.
Abs.
Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp
- Marcado como Resposta Marina Carvalho terça-feira, 19 de março de 2013 18:33
Todas as Respostas
-
Marina, boa tarde ! Acredito que voce possa criar triggers nas tabelas que voce quer auditar ou então dependendo da versão do seu SQL implementar o SQL Audit que é muito bom para o que voce quer.
Alexandre Matayosi Conde Mauricio.
- Sugerido como Resposta Eduardo Gomes Pereira terça-feira, 19 de março de 2013 18:13
-
Alexandre, muito boa tarde.
Vou pesquisar sobre o Sql Audit.
Tem mais um detalhe: Quando tiver tudo pronto (daqui a 20 ou 30 anos, rs rs rs) isso vai estar rodando nas nuvens, "cloud pure with Azure". Será que trigger não vai agachar a aplicação?
Mas que valeu sua resposta, isso valeu!!!
-
Marina, boa tarde.
Se vc fosse utilizar SQL server, indicaria utilizar o Change Data Capture. É muito simples utilizá-lo para controle de alterações em tabelas, mas infelizmente esta funcionalidade não é suportada no SQL Azure.
http://msdn.microsoft.com/en-us/library/windowsazure/ff394115.aspx
O ideal é seguir a dica do Alexandre, utilizando triggers DML nas tabelas que deseja controlar transações.
Quanto a sua dúvida de perfomance da trigger, tudo vai depender do código dela. Se preocupe em deixar o seu código o máximo otimizado possível. Se preocupe com níveis de isolamento, caso haja muita concorrência de dados, índices, etc.
Abs.
Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp
- Marcado como Resposta Marina Carvalho terça-feira, 19 de março de 2013 18:33