Veja como descobrir quem apagou tabela do SQL Server.
Hoje vamos descobrir quem apagou tabela do SQL Server apenas lendo o arquivo de transaction log.
Já se deparou com uma situação onde alguém chegou até você e disse: Apagaram uma tabela no banco de dados, tem como descobrir?
Você em seguida vai pensar: Se eu não tenho uma trigger para auditar esse tipo de ocorrência, eu estou em apuros.
Recuperar os dados apagados somente via backup, mas o que você acha de encontrar o responsável por ter apagado essa tabela? Basta executar a função (fn_dblog).
Através dessa função você poderá ler os arquivos de log, então para descobrir se algum objeto foi apagado basta executar o seguinte script abaixo:
SELECT [Transaction Id], [Begin Time], SUSER_SNAME ([Transaction SID]) AS [User], [Transaction Name] FROM fn_dblog (NULL, NULL) WHERE [Transaction Name] = 'DROPOBJ' GO
Bacana certo?
Existem várias outras formas de ler os arquivos de log para demais finalidades. Abaixo vou deixar uma forma interessante que seria, verificar os horários que ocorreram DML’s no banco de dados. Para saber basta executar o comando abaixo:
SELECT [Transaction Id], [Begin Time], SUSER_SNAME ([Transaction SID]) AS [User], [Transaction Name] FROM sys.fn_dblog(NULL,NULL) WHERE Operation IN ('LOP_INSERT_ROWS','LOP_MODIFY_ROW', 'LOP_DELETE_ROWS','LOP_BEGIN_XACT','LOP_COMMIT_XACT')
Em breve farei novos vídeos com demos com a finalidade de explicar melhor.
Grande abraço!
Wesley Mota
Latest posts by Wesley Mota (see all)
- The Ultimate Guide to Gry Online Ruletka - novembro 14, 2024