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

Làm cách nào để đồng bộ hóa hai (hoặc n) quy trình sao chép cho cơ sở dữ liệu SQL Server?

Có vẻ như, tác vụ đã cho đó không thể được giải quyết trong các ràng buộc nhất định. Nếu tôi hiểu đúng, số lượng cơ sở dữ liệu và lược đồ của hàng là hằng số.

Vì vậy, các biến còn lại:

  • "Tiêm" bổ sung vào cơ sở dữ liệu
  • Thủ thuật tạm thời
  • Thủ thuật kích hoạt
  • "Ràng buộc muộn" đối với các thay đổi, được sao chép không kịp thời

Hiện tại, tôi chỉ tìm thấy một ý tưởng có vẻ hiệu quả:

  1. Thêm trình kích hoạt trên bảng "Dòng", để sửa đổi dấu thời gian của bản ghi "Đơn hàng" (last_line_time)
  2. Trong bản sao, hãy đợi cho đến khi một Dòng có thời gian, bằng last_line_time xuất hiện.
    • Nếu max (lines.line_time)> order.last_line_time hơn order thì đã lỗi thời
    • Nếu max (lines.line_time)
    • Nếu max (lines.line_time) ==order.last_line_time hơn mọi thứ là ổn thì bây giờ :)

Tuy nhiên, trường hợp này có thể không thành vòng lặp vô hạn, nếu Lines được sửa đổi liên tục và bản sao bảng Lines luôn bị tụt hậu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bí quyết khôi phục các bản ghi đã xóa trong SQL Server

  2. SQL sửa đổi dữ liệu bảng thành một biểu mẫu nhỏ gọn hơn

  3. Cách sử dụng trình thiết kế truy vấn trong SQL Server

  4. Cách sao chép cơ sở dữ liệu SQL Server từ phiên bản này sang phiên bản khác

  5. Giới thiệu về bảng tạm thời trong SQL Server