Replizieren von Schemaänderungen
In diesem Thema wird beschrieben, wie Schemaänderungen in SQL Server 2012 mithilfe von SQL Server Management Studio oder Transact-SQL repliziert werden.
Wenn Sie in einem veröffentlichten Artikel die folgenden Schemaänderungen vornehmen, werden diese standardmäßig an Microsoft SQL Server-Abonnenten weitergegeben:
ALTER TABLE
ALTER VIEW
ALTER PROCEDURE
ALTER FUNCTION
ALTER TRIGGER
In diesem Thema
Vorbereitungen:
Einschränkungen
So replizieren Sie Schemaänderungen mit:
SQL Server Management Studio
Transact-SQL
Vorbereitungen
Einschränkungen
- Die Anweisung ALTER TABLE … DROP COLUMN wird grundsätzlich auf alle die Abonnenten repliziert, deren Abonnement die gelöschten Spalten enthält, auch wenn Sie die Replikation von Schemaänderungen deaktiviert haben.
[Top]
Verwendung von SQL Server Management Studio
Wenn die Schemaänderungen nicht auf eine Veröffentlichung repliziert werden sollen, deaktivieren Sie im Dialogfeld Veröffentlichungseigenschaften - <Veröffentlichung> die Replikation der Schemaänderungen. Weitere Informationen zum Zugreifen auf dieses Dialogfeld finden Sie unter Anzeigen und Ändern von Veröffentlichungseigenschaften.
So deaktivieren Sie die Replikation von Schemaänderungen
Legen Sie auf der Seite Abonnementoptionen des Dialogfelds Veröffentlichungseigenschaften - <Veröffentlichung> die Eigenschaft Schemaänderungen replizieren auf Falsch fest.
Klicken Sie auf OK.
Wenn nur bestimmte Schemaänderungen weitergegeben werden sollen, legen Sie für die Eigenschaft vor der Schemaänderung Wahr und danach Falsch fest. Wenn umgekehrt die meisten Schemaänderungen weitergegeben werden sollen und nur eine bestimmte Änderung nicht repliziert werden soll, legen Sie für die Eigenschaft vor der entsprechenden Schemaänderung Falsch und anschließend wieder Wahr fest.
[Top]
Verwendung von Transact-SQL
Sie können mithilfe gespeicherter Replikationsprozeduren angeben, ob diese Schemaänderungen repliziert werden sollen. Welche gespeicherte Prozedur Sie verwenden, hängt vom Typ der Veröffentlichung ab.
So erstellen Sie eine Momentaufnahme- oder Transaktionsveröffentlichung, die keine Schemaänderungen repliziert
- Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addpublication (Transact-SQL) aus, wobei Sie den Wert 0 für @replicate_ddl angeben. Weitere Informationen finden Sie unter Erstellen einer Veröffentlichung.
So erstellen Sie eine Mergeveröffentlichung, die keine Schemaänderungen repliziert
- Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addmergepublication (Transact-SQL) aus, wobei Sie den Wert 0 für @replicate_ddl angeben. Weitere Informationen finden Sie unter Erstellen einer Veröffentlichung.
So deaktivieren Sie vorübergehend die Replikation von Schemaänderungen in einer Momentaufnahme- oder Transaktionsveröffentlichung
Führen Sie für eine Veröffentlichung mit Replikation von Schemaänderungen sp_changepublication (Transact-SQL) aus, wobei Sie den Wert replicate_ddl für @property und den Wert 0 für @value angeben.
Führen Sie den DDL-Befehl für das veröffentlichte Objekt aus.
(Optional) Aktivieren Sie die Replikation von Schemaänderungen erneut, indem Sie sp_changepublication (Transact-SQL) unter Angabe des Werts replicate_ddl für @property und des Werts 1 für @value ausführen.
So deaktivieren Sie vorübergehend die Replikation von Schemaänderungen in einer Mergeveröffentlichung
Führen Sie für eine Veröffentlichung mit Replikation von Schemaänderungen sp_changemergepublication (Transact-SQL) aus, wobei Sie den Wert replicate_ddl für @property und den Wert 0 für @value angeben.
Führen Sie den DDL-Befehl für das veröffentlichte Objekt aus.
(Optional) Aktivieren Sie die Replikation von Schemaänderungen erneut, indem Sie sp_changemergepublication (Transact-SQL) unter Angabe des Werts replicate_ddl für @property und des Werts 1 für @value ausführen.
[Top]
Siehe auch
Konzepte
Vornehmen von Schemaänderungen in Veröffentlichungsdatenbanken
Vornehmen von Schemaänderungen in Veröffentlichungsdatenbanken