Ver las declaraciones de eliminación en el registro de transacciones

Respuestas:

11

no encontrará los scripts exactos que se ejecutaron en sql. (en el registro de transacciones)

Un registro de transacciones es un archivo que contiene información sobre cada cambio que se ha realizado en la base de datos. Esto incluye modificaciones de datos (transacciones), modificaciones de bases de datos y eventos de copia de seguridad / restauración.

El objetivo principal del registro de transacciones es proporcionar un método para poder restaurar una base de datos a un punto en el tiempo cuando sea necesario. Esto puede incluir revertir transacciones a un tiempo determinado o revertir transacciones desde una restauración de copia de seguridad completa.

para saber más sobre el registro de transacciones http://www.sqlservercentral.com/articles/Design+and+Theory/63350/

Aquí hay una secuencia de comandos para mostrarle consultas de eliminación recientes

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
AmmarR
fuente
FYI: FROMes una palabra clave opcional en una DELETEdeclaración, por lo que no la incluiría en el predicado correspondiente aquí.
Jon Seigel
Es cierto que la declaración From in delete es opcional, la guardé solo para limitar los resultados de mi consulta. pero sí tienes razón
AmmarR
Tenga en cuenta, para las instancias de SQL Server entre mayúsculas y minúsculas, el código anterior se pierda voluntad deletey DELETE, etc Usted puede querer hacer la cláusula where entre mayúsculas y minúsculas, por ejemplo: WHERE dest.text LIKE '%DELETE %' COLLATE Latin1_General_CI_AS
Max Vernon
11

Puede ver las filas individuales que se eliminaron buscando operaciones LOP_DELETE_ROWS que todavía están en el registro:

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

Si el registro se recicló (en el modelo de recuperación simple) o se truncó mediante una copia de seguridad (en el modelo de recuperación total o masiva), solo podrá ver las operaciones de registro todavía disponibles en el registro.

Comprender las operaciones de registro es bastante complejo, debe ser consciente de cosas como deshacer o operaciones de compensación para dar sentido a algunos patrones de registro que puede encontrar, pero los DELETE comprometidos son bastante fáciles de comprender.

Remus Rusanu
fuente