Lihat pernyataan hapus di log Transaksi

Jawaban:

11

Anda tidak akan menemukan skrip persis yang dijalankan pada sql. (dalam log transaksi)

Log transaksi adalah file yang berisi informasi tentang setiap perubahan yang telah dilakukan ke database. Ini termasuk modifikasi data (transaksi), modifikasi basis data, dan peristiwa pencadangan / pengembalian.

Tujuan utama dari log transaksi adalah untuk menyediakan metode untuk dapat mengembalikan database ke titik waktu ketika diperlukan. Ini dapat termasuk memutar kembali transaksi ke waktu tertentu, atau untuk meneruskan transaksi dari pemulihan cadangan penuh.

untuk mengetahui lebih banyak tentang Log Transaksi http://www.sqlservercentral.com/articles/Design+and+Theory/63350/

di sini adalah skrip untuk menunjukkan kepada Anda menjalankan permintaan penghapusan berlari terbaru

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
sumber
FYI: FROMadalah kata kunci opsional dalam DELETEpernyataan, jadi saya tidak akan memasukkannya dalam predikat yang cocok di sini.
Jon Seigel
Benar bahwa Dari dalam pernyataan hapus adalah opsional, saya menyimpannya hanya untuk membatasi hasil permintaan saya. tapi ya Anda benar
AmmarR
Catatan, untuk kasus SQL Server peka huruf besar kecil, kode di atas akan ketinggalan deletedan DELETE, dll. Anda mungkin ingin membuat klausa yang tidak peka huruf besar-kecil, misalnya: WHERE dest.text LIKE '%DELETE %' COLLATE Latin1_General_CI_AS
Max Vernon
11

Anda dapat melihat setiap baris yang dihapus dengan mencari operasi LOP_DELETE_ROWS yang masih ada di log:

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

Jika log didaur ulang (dalam model pemulihan sederhana) atau dipotong oleh cadangan (dalam model pemulihan penuh atau massal) maka Anda hanya akan dapat melihat operasi log masih tersedia di log.

Memahami operasi log cukup rumit, Anda harus mengetahui hal-hal seperti membatalkan atau mengkompensasi operasi untuk memahami beberapa pola log yang dapat Anda temui, tetapi DELETE yang berkomitmen ke depan cukup mudah untuk dipahami.

Remus Rusanu
sumber