Ändern der Spalten-integritätsregel null/nicht null = rowguid-Replikation-Fehler
Ich habe eine Datenbank unter Sql server 2005-Mergereplikation. Ich möchte ändern einige der FK-Spalten auf "not null", wie Sie sollte immer einen Wert haben. SQL server lässt mich nicht, dass, obwohl, das ist, was es sagt:
- Nicht ändern Tisch. Es ist ungültig, legen Sie die default-Einschränkung
auf die rowguid-Spalte verwendet wird
merge-Replikation. Das schema ändern
Fehler bei Ausführung der internen
Replikations-Verfahren. Für die Korrektur
Aktion, siehe die anderen Fehlermeldungen
das begleiten diese Fehlermeldung. Die
die Transaktion endete mit dem trigger. Die
der batch wurde abgebrochen.
Bin ich nicht zu ändern versuchen, die Einschränkungen für die rowguid-Spalte überhaupt, nur auf eine andere Spalte, die als FK. Andere Spalten will ich nicht null, da der Datensatz nicht sinnvoll ist, ohne dass die Informationen (z.B. über einen Kunden, der name des Kunden).
Fragen:
Gibt es eine Möglichkeit, um Spalten zu aktualisieren, die 'nicht null' ohne ausschalten Replikation dann drehen Sie ihn wieder?
Ist dies auch der beste Weg, dies zu tun - soll ich mich mit einer Einschränkung statt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Offenbar SSMS macht änderungen an Tabellen ablegen und diese anschließend. Also nur benötigt, um die änderungen mithilfe von T-SQL-Anweisung.
Müssen Sie ein Skript für Ihre änderung in den T-SQL-Anweisungen wie SQL Server Management Studio Aussehen wird, löschen und neu erstellen der Tabelle, im Gegensatz zum einfachen hinzufügen der zusätzlichen Spalte.
Müssen Sie auch fügen Sie die neue Spalte, um Ihre Publikationen.
Bitte beachten Sie, dass das ändern einer Spalte, die in dieser Weise kann sich nachteilig auf die Leistung der Replikation. Abhängig von der Größe der Tabelle, die Sie verändern, kann dazu führen, eine Menge von Daten repliziert werden. Bedenken Sie, dass, obwohl Sie Ihren Tisch Modifikation kann durchgeführt werden in einer einzelnen Anweisung, wenn 1 million Zeilen betroffen sind dann 1 Mio updates generiert wird, auf dem Abonnenten NICHT in einem einzigen update-Anweisung als gemeinhin angenommen wird.
Den Händen auf, verbesserte performance-Ansatz.......
Zur Durchführung dieser übung müssen Sie zu:
beide Verlage/Abonnenten
Publisher/Subscriber.
Publisher/Subscriber.
Repliziert werden.