sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan synkroniseres to (eller n) replikeringsprocesser til SQL Server-databaser?

Det ser ud til, at en given opgave ikke kan løses i givne begrænsninger. Hvis jeg har forstået det rigtigt, er antallet af databaser og rækkens skema konstanter.

Så variabler, der forlod:

  • Yderligere "injektioner" til databasen
  • Tidlige tricks
  • Udløser tricks
  • "Sen binding" af ændringer, der blev replikeret ikke i tide

I øjeblikket har jeg kun fundet én idé, som ser ud til at virke:

  1. Tilføj en trigger på "Lines"-tabellen for at ændre "Order"-tidsstempel (last_line_time)
  2. I replika skal du vente, indtil en linje med tid, svarende til last_line_time, vises.
    • Hvis max(lines.line_time)> order.last_line_time end ordren er forældet
    • Hvis max(lines.line_time)
    • Hvis max(lines.line_time) ==order.last_line_time end alt er OK, indtil videre :)

Men denne sag kan mislykkes i uendelig løkke, hvis linjer konstant ændres, og linjers tabel replika altid halter bagud.



  1. PLpgSQL-funktion til at finde kolonner med kun NULL-værdier i en given tabel

  2. Hvilket CMS der skal bruges til at bygge hjemmeside ved hjælp af PostreSQL, kan seneste WordPress bruges

  3. Udefineret offset-fejl på php ved import af en CSV

  4. Eksempel på en Oracle PIVOT-klausul med underforespørgsel