Ich bin gerade auf etwas beunruhigendes gestoßen, ich versuchte Transaktionsreplikation von einer Datenbank zu implementieren, deren Entwurf nicht unter unserer Kontrolle ist. Diese Replikation diente dazu, Berichte zu erstellen, ohne das System zu sehr zu besteuern. Beim Versuch der Replikation gingen nur einige der Tabellen durch.Transaktionsreplikation ohne Primärschlüssel (eindeutiger Index)
Auf Untersuchung Tabellen wurden nicht ausgewählt, um repliziert werden, weil sie keinen Primärschlüssel haben, dachte ich, dies kann nicht sein, es ist sogar als Primärschlüssel angezeigt, wenn ich ODBC und ms zugreifen, aber nicht in Management Studio. Auch die Abfragen sind nicht lächerlich langsam.
Ich habe versucht, einen doppelten Datensatz einzufügen, und es fehlgeschlagen, über einen eindeutigen Index (kein Primärschlüssel) zu sagen. Scheint so zu sein, dass die Tabellen unter Verwendung eines eindeutigen Indexes als Gegenstück zu einem Primärschlüssel implementiert wurden. Warum ich nicht weiß, dass ich schreien kann.
Gibt es trotzdem eine Transaktionsreplikation oder eine Alternative, muss es live sein (letzte Minute oder zwei). Der Haupt-DB-Server ist derzeit SQL 2000 SP3A und der Berichtsserver 2005.
Das einzige, was ich derzeit versucht habe zu versuchen, ist die Replikation einrichten, als ob es eine andere Art von Datenbank ist. Ich glaube, Replikation zu sagen, Orakel ist möglich, würde dies die Verwendung von sagen, ein ODBC-Treiber wie ich vermute, dass der Zugriff verwendet wird damit einen Primärschlüssel zeigt. Ich weiß nicht, ob das genau richtig ist.
nicht Mergereplikation tun können, Da eine GUID hinzugefügt wird, wird diese Datenbank regelmäßig geändert, um Spalten usw. hinzuzufügen und Skripte, die an uns gesendet werden, um die Aktualisierungen auszuführen. Wenn ich eine Guid-Spalte hinzufügen würde, könnten sie möglicherweise Support zurückziehen und so weiter. Sieht so aus, als ob ich feststecke, wenn wir nicht auf dem Haupt-Datenbankserver auf SQL 2005 upgraden, dann kann ich das Spiegeln machen und es nur als gelesen betrachten. Muss innerhalb einer Minute Live-Daten leider sein. – PeteT