Replizieren von Schemaänderungen
Gilt für: SQL Server Azure SQL Managed Instance
In diesem Thema wird beschrieben, wie Schemaänderungen in SQL Server 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:
So replizieren Sie Schemaänderungen mit:
Vorbereitungen
Einschränkungen
- Die ALTER TABLE … DROP COLUMN-Anweisung wird grundsätzlich auf alle Abonnenten repliziert, deren Abonnement die Spalten enthält, die gelöscht werden, auch wenn Sie die Replikation von Schemaänderungen deaktiviert haben.
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 View and Modify Publication Properties.
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 FALSE fest.
Wählen Sie OK aus.
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.
Verwenden 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, und geben Sie einen Wert von
0
für@replicate_ddl
an. Weitere Informationen finden Sie unter Create a Publication.
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, und geben Sie einen Wert von
0
für@replicate_ddl
an. Weitere Informationen finden Sie unter Create a Publication.
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, und geben Sie einen Wert
replicate_ddl
für@property
und einen Wert von0
für@value
an.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) ausführen, und geben Sie einen Wert
replicate_ddl
für@property
und einen Wert von1
für@value
an.
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, und geben Sie einen Wert
replicate_ddl
für@property
und einen Wert von0
für@value
an.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) ausführen, und geben Sie einen Wert
replicate_ddl
für@property
und einen Wert von1
für@value
an.