SQL Server 2008 Replication (ohne erneute Initialisierung)
Ich bin versucht zu bestimmen, ob es einen besseren Weg, um Replikation behandeln, als wir gerade die Dinge zu tun.
Grundsätzlich sind wir versucht zu bestimmen, 2 Dinge:
- Gibt es eine Möglichkeit zum hinzufügen von eine vorhandene Spalte von einer Tabelle in die Replikation
ohne Neuinitialisierung des ganzen
Veröffentlichung- Können Sie wählen Sie einfach einen bestimmten Artikel neu zu initialisieren, statt alle
der Artikel in einer Publikation?
(Ich bin ein bisschen neu, um die Replikation... versuchen, um bis zu Geschwindigkeit, so dass ich entschuldige mich, wenn meine Terminologie nicht sinnvoll)
Momentan haben wir über 30 Publikationen so, dass, wenn alle müssen neu initialisiert werden, es gibt nur minimale Auswirkungen haben... weil einige unserer Tische sind ziemlich Massiv. Wir würden es vorziehen, nur haben mehrere Veröffentlichung.
Irgendwelche Ideen würde sehr geschätzt werden.
Update
Wenn wir versuchen, fügen Sie eine Spalte zu einem Artikel haben wir die Nachricht erhalten:
Geändert haben, eine oder mehrere
Eigenschaften, die erfordern, dass alle
Abonnements erneut initialisiert werden.
Speichern Sie diese änderungen markiert jede
Abonnement, unterstützt die automatische
die erneute Initialisierung initialisiert werden
aus einer Momentaufnahme der nächsten Zeit seine
Verteilungs-Agent ausgeführt wird. Sie laufen muss
der Snapshot-Agent zum generieren des
snapshot.
Wollen wir vermeiden, initialisieren Sie alle Abonnements.. wir sind mithilfe der Transaktionsreplikation... wieder wollen wir hinzufügen einer vorhandenen Spalte zu einer bestehenden Publikation ohne alle Abonnements neu zu initialisieren.
InformationsquelleAutor Chris Klepeis | 2009-11-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Welche Art der Replikation? Snapshot -, Merge -, Transacitonal, Peer-to-Peer?
1) ja. Sehen Vornehmen von Schemaänderungen in veröffentlichungsdatenbanken:
2) Es hängt von der Replikation geben. Sehen Erneutes initialisieren eines Abonnements:
Wir sind mit Transaktions -
In dem link, den Sie die Kommentare über sp_articlecolumn und sp_mergearticlecolumn siehe ändern-Filter, nicht-schema-änderungen. Nach msdn.microsoft.com/en-us/library/ms151870.aspx die schema-änderungen propagiert incrementaly w/o die Notwendigkeit zu re-initialisieren. Sie sollten testen und zu validieren.
Schema-änderungen haben für uns gearbeitet, aber das Problem ich bin tyring zu testen, jetzt ist unter einer vorhandenen publisher, eine vorhandene veröffentlichte Artikel und das hinzufügen einer vorhandenen Spalte zu diesem Artikel. Ich habe es getestet mit dem Assistenten und überwacht den status der snapshot-und der Verlauf Verteiler zu Abonnent. Was ich gehofft hätte, dass für ist für dass es nur eine Momentaufnahme generieren, für die Artikel in der Veröffentlichung, die geändert wird, aber was ich sehe, in den details ist, dass es regeneriert die Momentaufnahme für jeden Artikel in der Publikation und schob es über die Verteilung.
So Frage ich mich, ob dies getan werden kann oder nicht... ich habe einige Replikation hacks in mein Tag, aber habe nie eine gute Lösung gefunden für dieses problem. Am besten habe ich in der Lage zu tun, bis-Datum begrenzen Sie die Menge der Artikel in einer Publikation, so dass, wenn ich neu zu initialisieren, es ist beschränkt auf die Gruppe. Tut, macht die Sache nur ein wenig chaotisch, mit zu arbeiten, da ich am Ende mit 30 - 40 Publikationen, die schafft eine Menge von Arbeitsplätzen und zahlreiche system-Prozesse.
InformationsquelleAutor Remus Rusanu