Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara menyinkronkan dua (atau n) proses replikasi untuk database SQL Server?

Tampaknya, tugas yang diberikan tidak dapat diselesaikan dalam batasan yang diberikan. Jika saya mengerti dengan benar, jumlah database dan skema baris adalah konstanta.

Jadi, variabel yang tersisa:

  • "Injeksi" tambahan ke database
  • Trik Sementara
  • Trik Pemicu
  • "Pengikatan terlambat" dari perubahan, yang direplikasi tidak tepat waktu

Saat ini, saya hanya menemukan satu ide, yang tampaknya berhasil:

  1. Tambahkan pemicu pada tabel "Garis", untuk mengubah stempel waktu catatan "Pesanan" (waktu_baris terakhir)
  2. Dalam replika, tunggu sampai Garis dengan waktu, sama dengan last_line_time muncul.
    • Jika max(lines.line_time)> order.last_line_time maka pesanan sudah usang
    • Jika max(lines.line_time)
    • Jika max(lines.line_time) ==order.last_line_time maka semuanya baik-baik saja, untuk saat ini :)

Namun, kasus ini dapat gagal menjadi infinite loop, jika Lines terus dimodifikasi, dan replika tabel Lines selalu tertinggal.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara tercepat untuk mengkloning baris dalam SQL

  2. Mengubah Kolom yang Ada menjadi Kolom Terhitung di SQL Server (Contoh T-SQL)

  3. Saya tidak dapat menambahkan Microsoft.SqlServer.Management.Common ke Aplikasi ASP.NET MVC saya

  4. Jarak antara dua titik menggunakan tipe data Geografi di sqlserver 2008?

  5. Batas ukuran indeks 900 byte dalam panjang karakter