Nếu không có thêm kiến thức về lược đồ cơ sở dữ liệu, quyền, v.v. và một số ý tưởng về chiến lược của bạn đối với ứng dụng của bạn, thì cực kỳ khó để đưa ra quy định. Ở mức tối thiểu, ứng dụng thậm chí có cho phép bạn hoạt động ở chế độ chỉ đọc với các bản cập nhật bảng bị chặn không?
Ở cấp độ rất cơ bản, "Có" bạn có thể làm điều đó...
TỪ CHỐI CHÈN, CẬP NHẬT, XÓA BẬT <bảng> ĐẾN <người dùng>
tuy nhiên không thể nói ứng dụng của bạn sẽ phản ứng như thế nào. Theo kinh nghiệm của tôi, hầu hết các ứng dụng sẽ phát ra lỗi ở khắp mọi nơi và giết người đẫm máu nếu bạn làm điều này, thậm chí có thể làm hỏng dữ liệu (lỗi không được kiểm tra, giao dịch sử dụng kém, v.v.). Hiếm khi (có thể là không bao giờ) tôi thấy một ứng dụng chuyển sang chế độ chỉ đọc một cách duyên dáng khi quyền truy cập cơ sở dữ liệu không như thiết kế/mong đợi.
Vì vậy, hãy KIỂM TRA! Thử nghiệm, thử nghiệm, thử nghiệm, trong môi trường phi sản xuất được kiểm soát cho đến khi bạn có một quy trình được lập thành văn bản hỗ trợ thay đổi của mình.
Nếu các yêu cầu của bạn không cho phép cắt điện kéo dài (hoặc hoàn toàn không cắt điện), thì có nhiều cách phức tạp hơn để xử lý việc này. Một ý tưởng sẽ là thêm trình kích hoạt sau khi chèn/sau khi cập nhật để tự động chuyển đổi các bản ghi mới/đã cập nhật trong một trường mới trong khi bạn chạy bảo trì trên các đợt nhỏ hơn. Sau khi tất cả dữ liệu được chuyển đổi, hãy chuyển ứng dụng sang trường mới và bỏ trường cũ.