Đôi khi bạn phải sửa dữ liệu trên Prod không tồn tại trên các máy chủ khác. Đây không chỉ là do lỗi mà có thể là từ việc nhập dữ liệu từ tệp mà khách hàng đã gửi không chính xác hoặc do sự cố do ai đó xâm nhập vào hệ thống của bạn. Hoặc từ một vấn đề gây ra bởi nhập dữ liệu xấu. Nếu cơ sở dữ liệu của bạn lớn hoặc có thời gian quan trọng, bạn có thể không có thời gian để khôi phục bản sao lưu mới nhất và sửa lỗi trên dev.
Phòng thủ đầu tiên của bạn (và thứ mà không có cơ sở dữ liệu Doanh nghiệp nào có thể có được mà không có!) Là các bảng kiểm toán. Bạn có thể sử dụng chúng để sao lưu các thay đổi dữ liệu xấu. Hơn nữa, bạn có thể viết các tập lệnh để trả dữ liệu về trạng thái trước đó và kiểm tra chúng trên các máy chủ khác từ lâu trước khi bạn cần hoàn nguyên dữ liệu đã kiểm toán. Sau đó, rủi ro duy nhất là bạn xác định các hồ sơ chính xác để hoàn nguyên.
Tiếp theo tất cả các tập lệnh để thay đổi dữ liệu về sản xuất nên bao gồm:
Họ nên ở trong các giao dịch rõ ràng và có khối TRY Catch.
Họ nên có một chế độ thử nghiệm mà bạn có thể sử dụng để khôi phục các thay đổi sau khi bạn thấy những gì họ sẽ có. Bạn nên có một thống kê được chọn từ trước khi thay đổi được thực hiện và một lần chạy sau thay đổi để đảm bảo thay đổi là chính xác. Kịch bản phải đảm bảo số lượng hàng được xử lý được hiển thị. Chúng tôi có một số điều này được thiết lập sẵn trong một mẫu để đảm bảo các phần được hoàn thành. Mẫu để thay đổi, giúp tiết kiệm thời gian bằng văn bản sửa chữa quá.
Nếu có một lượng lớn dữ liệu để thay đổi hoặc cập nhật, thì hãy xem xét việc viết tập lệnh để chạy theo lô với các cam kết cho mỗi lô. Bạn không muốn khóa toàn bộ hệ thống trong khi bạn sửa một triệu bản ghi. Nếu bạn có số lượng dữ liệu lớn cần khắc phục, hãy đảm bảo rằng một dba hoặc ai đó được sử dụng để điều chỉnh hiệu suất sẽ xem xét tập lệnh trước khi chạy và chạy trong giờ nghỉ nếu có thể.
Tiếp theo tất cả các tập lệnh để thay đổi bất cứ điều gì trong sản xuất là mã được xem xét và đưa vào kiểm soát nguồn. Tất cả trong số họ - không có ngoại lệ.
Cuối cùng các nhà phát triển không nên chạy các tập lệnh này. Chúng nên được chạy bởi dbas hoặc một nhóm quản lý cấu hình. Nếu bạn không có ai trong số họ, thì chỉ những người dẫn đầu về công nghệ hoặc cao hơn mới có quyền điều hành mọi thứ trên prod. Càng ít người chạy mọi thứ trên prod, càng dễ dàng theo dõi một vấn đề. Các kịch bản nên được viết sao cho chúng chỉ đơn giản là chạy, không có phần tô sáng và chạy từng bước một. Đó là những thứ nổi bật thường khiến mọi người gặp rắc rối khi họ quên làm nổi bật mệnh đề where.