Exibir instruções de exclusão no log de transações


Respostas:


11

você não encontrará os scripts exatos que foram executados no sql. (no log de transações)

Um log de transações é um arquivo que contém informações sobre todas as alterações feitas no banco de dados. Isso inclui modificações de dados (transações), modificações no banco de dados e eventos de backup / restauração.

O objetivo principal do log de transações é fornecer um método para restaurar um banco de dados em um momento específico, quando necessário. Isso pode incluir a reversão de transações para um determinado momento ou a reversão de transações de uma restauração de backup completa.

para saber mais sobre o log de transações http://www.sqlservercentral.com/articles/Design+and+Theory/63350/

aqui está um script para mostrar consultas de exclusão executadas recentes

SELECT deqs.last_execution_time AS [Time], dest.TEXT AS [Query]
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
where dest.TEXT like '%Delete%from%'
ORDER BY deqs.last_execution_time DESC

FYI: FROMé uma palavra-chave opcional em uma DELETEdeclaração, portanto, não a incluiria no predicado correspondente aqui.
Jon Seigel

É verdade que a instrução From in delete é opcional, mantive-a apenas para limitar os resultados da minha consulta. mas sim, você está certo
AmmarR

Note, para instâncias maiúsculas e minúsculas SQL Server, o código acima falta vontade deletee DELETE, etc. Você pode querer fazer o onde cláusula case-insensitive, por exemplo: WHERE dest.text LIKE '%DELETE %' COLLATE Latin1_General_CI_AS
Max Vernon

11

Você pode visualizar as linhas individuais que foram excluídas procurando operações LOP_DELETE_ROWS ainda no log:

select * from fn_dblog(NULL, NULL) 
where Operation = 'LOP_DELETE_ROWS'

Se o log foi reciclado (no modelo de recuperação simples) ou truncado pelo backup (no modelo de recuperação total ou em massa), você poderá ver apenas as operações de log ainda disponíveis no log.

Compreender as operações de log é bastante complexo, é necessário estar ciente de coisas como operações de desfazer ou compensar para entender alguns padrões de log que você pode encontrar, mas DELETEs confirmados diretos são bastante fáceis de entender.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.