Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

hoàn tác các thay đổi đối với một thủ tục được lưu trữ

Câu trả lời là , 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:

  1. Tắt máy chủ (hoặc ít nhất là đặt nó ở chế độ chỉ đọc)
  2. Sao lưu toàn bộ máy chủ
  3. 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
  4. Khôi phục bản sao lưu vào một máy chủ khác
  5. 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
  6. 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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các tùy chọn giám sát cơ sở dữ liệu hàng đầu có sẵn cho doanh nghiệp của bạn

  2. Cách kiểm tra độ dài chuỗi và sau đó chọn chuỗi con trong Sql Server

  3. SQL Server - Hợp nhất các bảng lớn mà không khóa dữ liệu

  4. Tính toán chênh lệch thời gian trong SQL Server

  5. Làm tròn DateTime không mong muốn trong SQL Server