Visualizza le istruzioni di eliminazione nel registro delle transazioni


Risposte:


11

non troverai gli script esatti che sono stati eseguiti su sql. (nel registro delle transazioni)

Un registro delle transazioni è un file che contiene informazioni relative a tutte le modifiche apportate al database. Ciò include modifiche ai dati (transazioni), modifiche al database ed eventi di backup / ripristino.

Lo scopo principale del registro delle transazioni è fornire un metodo per poter ripristinare un database in un punto temporale quando necessario. Ciò può includere il rollback delle transazioni a un determinato momento o il roll forward delle transazioni da un ripristino di backup completo.

per saperne di più sul registro delle transazioni http://www.sqlservercentral.com/articles/Design+and+Theory/63350/

ecco uno script per mostrare le query di eliminazione eseguite di recente

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

Cordiali saluti: FROMè una parola chiave facoltativa in DELETEun'istruzione, quindi non la includerei nel predicato corrispondente qui.
Jon Seigel,

È vero che la dichiarazione From in delete è facoltativa, l'ho mantenuta solo per limitare i risultati della mia query. ma sì hai ragione
AmmarR

Nota, per le istanze di SQL Server con distinzione tra maiuscole e minuscole, il codice sopra riportato mancherà deletee DELETE, ecc. Potresti voler rendere la clausola where senza distinzione tra maiuscole e minuscole, ad esempio: WHERE dest.text LIKE '%DELETE %' COLLATE Latin1_General_CI_AS
Max Vernon,

11

È possibile visualizzare le singole righe che sono state eliminate cercando le operazioni LOP_DELETE_ROWS ancora nel registro:

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

Se il registro è stato riciclato (nel modello di recupero semplice) o troncato dal backup (nel modello di recupero completo o in blocco), sarà possibile vedere solo le operazioni del registro ancora disponibili nel registro.

La comprensione delle operazioni di registro è piuttosto complessa, è necessario essere consapevoli di cose come annullare o compensare le operazioni per dare un senso ad alcuni schemi di registro che si possono incontrare, ma i DELETE impegnati direttamente sono abbastanza facili da comprendere.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.