Brincadeiras a parte, neste modulo iremos orientar como ler o log de transações e assim podemos identificar ações, quem descartou uma tabela (DELETE -DROP) Por exemplo, Ou quaisquer outras ações executadas.
O SQL Server transaction log contém registros descrevendo alterações feitas a uma base de dados. Ele armazena informação suficiente para recuperar uma base de dados em um tempo específico no tempo, para refazer ou desfazer uma alteração. Mas, como visualizar seu conteúdo, localizar uma transação específica, ver o que aconteceu e reverter uma alteração como uma remoção de registro acidental.Para visualizar o que está armazenado em um transaction log ativo, ou em um backup de transaction log não é tão simples, abrir o arquivo LDF e TRN em um editor binário ele exibirá registros inteligíveis impossibilitando a leitura direta.
FN_DBLOG
Usando fn_dblog é uma função não documentada no SQL Server que lê a parte ativa de um transaction log. Esta função em si retorna 129 colunas, é recomendado selecionar apenas colunas específicas e filtrar os resultados para um tipo de operação específico, a partir do conjunto de resultados retornados pelo fn_dblog, localize as transações que você quer inspecionar.
1
2
3
4
5
6
| SELECT [ Transaction Id], [ Begin Time ], SUSER_SNAME ([ Transaction SID]) AS [ User ], [ Transaction Name ] FROM fn_dblog ( NULL , NULL ) WHERE [ Transaction Name ] = 'DELETE' GO |
* Pré-requisito para monitoração em banco de dados é um banco em modelo de recuperação FULL
Completo, portanto o log de transações registra todos os detalhes necessários.
Por favor, lembre-se, se você estiver usando o SA ou o login do administrador do sistema para acessar o seu sistema, você não será capaz de encontrar um usuário final que alterou sua tabela.
É sempre uma boa ideia criar um login e um usuário diferentes para o seu sistema, principalmente a níveis de acessos específicos, assim, quando você precisar rastrear qualquer usuário, será mais fácil para gestão.
Nenhum comentário:
Postar um comentário