Câu trả lời là CÓ , bạn có thể lấy lại nó, nhưng nó không dễ dàng. Tất cả các cơ sở dữ liệu ghi nhật ký mọi thay đổi được thực hiện cho nó. Bạn cần:
- Tắt máy chủ (hoặc ít nhất là đặt nó ở chế độ chỉ đọc)
- Sao lưu toàn bộ máy chủ
- Nhận bản sao của tất cả các tệp nhật ký db về trước khi tai nạn xảy ra
- Khôi phục bản sao lưu vào một máy chủ khác
- Sử dụng các công cụ quản trị db, quay lại các tệp nhật ký cho đến khi bạn "hoàn tác" tai nạn
- Kiểm tra mã được khôi phục trong chương trình đã lưu trữ và mã trở lại phiên bản hiện tại của bạn
Và quan trọng nhất: NHẬN MÃ THỦ TỤC ĐƯỢC LƯU TRỮ CỦA BẠN THEO KIỂM SOÁT NGUỒN HÀNG
Nhiều người không tìm hiểu kỹ khái niệm này:Bạn chỉ có thể thực hiện thay đổi đến cơ sở dữ liệu; bạn không thể khôi phục phiên bản proc đã lưu trữ giống như bạn có thể làm với mã ứng dụng bằng cách thay thế các tệp bằng các phiên bản trước của chúng. Để "quay trở lại", bạn phải thực hiện thêm thay đổi làm giảm / xác định quy trình được lưu trữ của bạn.
Lưu ý cho người chọn:Bằng cách "quay lại", tôi không có nghĩa là "quay lại giao dịch". Ý tôi là bạn đã thực hiện các thay đổi của mình và quyết định sau khi máy chủ hoạt động lại rằng thay đổi đó là không tốt.