Freigeben über


Vorgehensweise: Replizieren von Schemaänderungen (Replikationsprogrammierung mit Transact-SQL)

Wenn Sie in einem veröffentlichten Artikel die folgenden Schemaänderungen vornehmen, werden diese standardmäßg an MicrosoftSQL Server-Abonnenten weitergegeben:

  • ALTER TABLE

  • ALTER VIEW

  • ALTER PROCEDURE

  • ALTER FUNCTION

  • ALTER TRIGGER

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.

HinweisHinweis

Unabhängig vom Wert des @replicate_ddl-Parameters, wird ALTER TABLE DROP COLUMN grundsätzlich auf allen Abonnenten repliziert, deren Partition die gelöschten Spalten enthält.

So erstellen Sie eine Snapshot- oder Transaktionsveröffentlichung, die keine Schemaänderungen repliziert

So erstellen Sie eine Mergeveröffentlichung, die keine Schemaänderungen repliziert

So deaktivieren Sie vorübergehend die Replikation von Schemaänderungen in einer Snapshot- oder Transaktionsveröffentlichung

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

  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) 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

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

  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) unter Angabe des Werts replicate_ddl für @property und des Werts 1 für @value ausführen.