Có thể xem các delete
báo cáo gần đây đã xảy ra trong Nhật ký giao dịch không?
Có thể xem các delete
báo cáo gần đây đã xảy ra trong Nhật ký giao dịch không?
Câu trả lời:
bạn sẽ không tìm thấy các tập lệnh chính xác đã được thực thi trên sql. (trong nhật ký giao dịch)
Nhật ký giao dịch là một tệp chứa thông tin liên quan đến mọi thay đổi đã được thực hiện đối với cơ sở dữ liệu. Điều này bao gồm sửa đổi dữ liệu (giao dịch), sửa đổi cơ sở dữ liệu và các sự kiện sao lưu / khôi phục.
Mục đích chính của nhật ký giao dịch là cung cấp một phương thức để có thể khôi phục cơ sở dữ liệu về thời điểm khi cần thiết. Điều này có thể bao gồm khôi phục các giao dịch trong một thời gian nhất định hoặc để chuyển tiếp các giao dịch từ phục hồi sao lưu toàn bộ.
để biết thêm về Nhật ký giao dịch http://www.sqlservercentral.com/articles/Design+and+Theory/63350/
đây là một đoạn script để hiển thị cho bạn các truy vấn xóa đã chạy gần đây
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
FROM
là một từ khóa tùy chọn trong một DELETE
tuyên bố, vì vậy tôi sẽ không đưa nó vào vị từ phù hợp ở đây.
delete
và DELETE
, v.v. Bạn có thể muốn tạo mệnh đề where không phân biệt chữ hoa chữ thường: WHERE dest.text LIKE '%DELETE %' COLLATE Latin1_General_CI_AS
Bạn có thể xem các hàng riêng lẻ đã bị xóa bằng cách tìm kiếm các hoạt động LOP_DELETE_lawS vẫn còn trong nhật ký:
select * from fn_dblog(NULL, NULL)
where Operation = 'LOP_DELETE_ROWS'
Nếu nhật ký được tái chế (trong mô hình khôi phục đơn giản) hoặc bị cắt bớt bởi sao lưu (trong mô hình khôi phục toàn bộ hoặc hàng loạt) thì bạn sẽ chỉ có thể thấy các hoạt động nhật ký vẫn có sẵn trong nhật ký.
Hiểu các hoạt động nhật ký khá phức tạp, bạn cần lưu ý những điều như hoàn tác hoặc bù các thao tác để hiểu ý nghĩa của một số mẫu nhật ký mà bạn có thể gặp phải, nhưng các DEL DEL cam kết thẳng tiến khá dễ hiểu.