Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Paulo Melo

Auditoria

Recommended Posts

E aí galera beleza? Seguinte, existe alguma forma de fazer auditoria no SQL Server? É que quero verificar quem executou determinada instrução no banco.Algum log com histórico de instruções...Desde já agradeço.A Paz!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!Uma forma de fazer isso é através de triggers. Através delas, você poderia criar algo do tipo 'grave na tabela T_LOG o nome do usuário, a data e a hora em que este usuário apagou um registro da tabela T_DIVIDA'. Caso seja isto que você está procurando, vale a pena dar uma olhada.Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é, isso ajudaria se já existisse. Mas eu quero pegar o log do SGDB, como podemos fazer no Oracle. Infelizmente a tabela que estou querendo auditar não é auditada por Tigger's, então tenho que procurar outra forma de ver quem realizou determinadas instruções.Existe isso no SQL Server?Valeu!!A Paz!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi... você quer pegar um evento que já ocorreu, certo?Puxa, não sei te responder se existe este log do SGDB.Em todo caso, boa sorte na pesquisa.Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O arquivo de log existe sim, mas agora eu não tenho certeza se ele diz que usário executou que comento.

 

Na verdade, não sei te dizer nem se o arquivo é texto, sendo assim legivel.

 

Mas pra ajudar, executa o seguinte comando

 

sp_helpdb 'nome do banco'

Ai ele vai retornar todos os atributos do banco de dados, inclusive o endereço do arquivo de log. Ai meu amigo, boa sorte =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

O nosso amigo Mauro Pichiliani aqui do iMasters já escreveu um artigo sobre esse item, o qual tomei a liberdade de reproduzir a seguir: :)

 

Existe alguma maneira do SQL Server saber que inseriu ou apagou um registro em uma tabela? O Transaction Log serve para isso?

 

Resposta: Infelizmente o SQL Server não faz este tipo de auditoria automaticamente. O Transaction Log é um arquivo que contém as transações efetuadas em um banco de dados e não tem como função trabalhar com auditoria.

 

Agora uma idéia para se implementar esta funcionalidade poderia ser através de triggers: para cada tabela defina um trigger para o INSERT, UPDADE e DELETE. Dentro deste trigger você pode fazer um INSERT em uma tabela de auditoria armazenando qualquer informação que se desejar como qual o usuário que fez qual comando, a data/hora, o nome do aplicativo, o registro anterior e no novo, etc.

 

Para o artigo completo, acesse: http://www.imasters.com.br/artigo.php?cn=1235&cc=86

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.