Freigeben über


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

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

  1. Legen Sie auf der Seite Abonnementoptionen des Dialogfelds Veröffentlichungseigenschaften - <Veröffentlichung> die Eigenschaft Schemaänderungen replizieren auf FALSE fest.

  2. 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

  1. 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

  1. 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

  1. 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 von 0 für @value an.

  2. Führen Sie den DDL-Befehl für das veröffentlichte Objekt aus.

  3. (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 von 1 für @value an.

So deaktivieren Sie vorübergehend die Replikation von Schemaänderungen in einer Mergeveröffentlichung

  1. 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 von 0 für @value an.

  2. Führen Sie den DDL-Befehl für das veröffentlichte Objekt aus.

  3. (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 von 1 für @value an.