Vorgehensweise: Anzeigen und Ändern von Veröffentlichungseigenschaften (Replikationsprogrammierung mit Transact-SQL)

Veröffentlichungen können mithilfe gespeicherter Replikationsprozeduren programmgesteuert geändert und ihre Eigenschaften zurückgegeben werden. Welche gespeicherten Prozeduren Sie verwenden, hängt vom Typ der Veröffentlichung ab.

So zeigen Sie die Eigenschaften eines Snapshots oder einer Transaktionsveröffentlichung an

  • Führen Sie sp_helppublication aus, und geben Sie dabei den Namen der Veröffentlichung für den @publication-Parameter an. Wenn Sie diesen Parameter nicht angeben, werden Informationen über alle Veröffentlichungen beim Verleger zurückgegeben.

So ändern Sie die Eigenschaften eines Snapshots oder einer Transaktionsveröffentlichung

  • Führen Sie sp_changepublication aus, und geben Sie dabei die zu ändernde Veröffentlichungseigenschaft im @property-Parameter und den neuen Wert dieser Eigenschaft im @value-Parameter an.

    HinweisHinweis

    Wenn die Änderung das Generieren eines neuen Snapshots erfordert, müssen Sie zudem den Wert 1 für @force_invalidate_snapshot angeben, und wenn die Änderung das erneute Initialisieren der Abonnenten erfordert, müssen Sie den Wert 1 für @force_reinit_subscription angeben. Weitere Informationen über Eigenschaften, die bei Änderung einen neuen Snapshot oder eine erneute Initialisierung erfordern, finden Sie unter Ändern von Veröffentlichungs- und Artikeleigenschaften.

So zeigen Sie die Eigenschaften einer Mergeveröffentlichung an

  • Führen Sie sp_helpmergepublication aus, und geben Sie dabei den Namen der Veröffentlichung für den @publication-Parameter an. Wenn Sie diesen Parameter nicht angeben, werden Informationen über alle Veröffentlichungen beim Verleger zurückgegeben.

So ändern Sie die Eigenschaften einer Mergeveröffentlichung

  • Führen Sie sp_changemergepublication aus, und geben Sie dabei die zu ändernde Veröffentlichungseigenschaft im @property-Parameter und den neuen Wert dieser Eigenschaft im @value-Parameter an.

    HinweisHinweis

    Wenn die Änderung das Generieren eines neuen Snapshots erfordert, müssen Sie zudem den Wert 1 für @force_invalidate_snapshot angeben, und wenn die Änderung das erneute Initialisieren der Abonnenten erfordert, müssen Sie den Wert 1 für @force_reinit_subscription angeben. Weitere Informationen über Eigenschaften, die bei Änderung einen neuen Snapshot oder eine erneute Initialisierung erfordern, finden Sie unter Ändern von Veröffentlichungs- und Artikeleigenschaften.

So zeigen Sie die Eigenschaften eines Snapshots an

So ändern Sie die Eigenschaften eines Snapshots

  • Führen Sie sp_changepublication_snapshot aus, und geben Sie dabei eine oder mehrere der neuen Snapshoteigenschaften für die entsprechenden Snapshotparameter an.

Beispiel

In diesem Beispiel für Transaktionsreplikation werden die Eigenschaften der Veröffentlichung zurückgegeben.

DECLARE @myTranPub AS sysname
SET @myTranPub = N'AdvWorksProductTran' 

USE [AdventureWorks2008R2]
EXEC sp_helppublication @publication = @myTranPub
GO

In diesem Beispiel für Transaktionsreplikation wird die Schemareplikation für die Veröffentlichung deaktiviert.

DECLARE @publication AS sysname
SET @publication = N'AdvWorksProductTran' 

-- Turn off DDL replication for the transactional publication.
USE [AdventureWorks2008R2]
EXEC sp_changepublication 
  @publication = @publication, 
  @property = N'replicate_ddl', 
  @value = 0
GO

In diesem Beispiel für Mergereplikation werden die Eigenschaften der Veröffentlichung zurückgegeben.

DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';

USE [AdventureWorks2008R2]
EXEC sp_helpmergepublication @publication = @publication;
GO

In diesem Beispiel für Mergereplikation wird die Schemareplikation für die Veröffentlichung deaktiviert.

DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge'; 

-- Disable DDL replication for the publication.
USE [AdventureWorks2008R2]
EXEC sp_changemergepublication 
  @publication = @publication, 
  @property = N'replicate_ddl', 
  @value = 0,
  @force_invalidate_snapshot = 0, 
  @force_reinit_subscription = 0;
GO