SQL Server: Berechnete Spalte für die Transaktionsreplikation

8

Ich bin Abonnent eines Transaktionsreplikationsabonnements. Ich habe keine Kontrolle über den Verlag.

Ich habe den folgenden Artikel über Schemaänderungen an der Veröffentlichungsdatenbank gelesen:

Nehmen Sie Schemaänderungen an Publikationsdatenbanken vor

Ich versuche jedoch, das Schema am Abonnementende zu ändern (falls möglich). Ich frage mich, ob die Transaktionsreplikation das Hinzufügen von persistenten berechneten Spalten zu den Abonnententabellen unterstützt.

Ich würde diese Lösung dem Hinzufügen einer neuen Ansicht für jede Tabelle vorziehen, für die ein berechneter Wert erforderlich ist.

jzacharuk
quelle

Antworten:

5

Ich habe es getestet und ja, das funktioniert sogar unter Peer-to-Peer. (Mein ursprünglicher Kommentar war falsch, da dies nur für physische Spalten gilt.)

Da Sie die Veröffentlichung nicht kontrollieren, würde ich empfehlen, die von Ihnen hinzugefügten Spalten sehr sorgfältig zu benennen, um zukünftige Schemaänderungen nicht zu beeinträchtigen. Auch wenn diese Datenbank eine 3rd-Party - ISV - Anwendung unterstützt, zum Beispiel, würde ich sehr vorsichtig sein , macht alle Schemaänderungen an die Basistabellen.

Jon Seigel
quelle
8

Sie können dies tun, aber denken Sie daran, dass Ihre neue Spalte gelöscht wird, wenn das Abonnement jemals neu initialisiert wird. dh. Der DBA beim Herausgeber ändert die Veröffentlichung, um eine Tabelle hinzuzufügen, Beschädigungen, Wartung usw., und der Snapshot muss erneut angewendet werden. Alle Änderungen, die Sie am replizierten Schema vorgenommen haben, werden gelöscht und aus der Veröffentlichung neu erstellt. Alle Änderungen, die Sie vorgenommen haben, werden ebenfalls gelöscht.

CleanFill
quelle