Festlegen des Kompatibilitätsgrads von Mergeveröffentlichungen

Gilt für: SQL Server

In diesem Thema wird beschrieben, wie der Kompatibilitätsgrad für Mergeveröffentlichungen in SQL Server mit SQL Server Management Studio oder Transact-SQL festgelegt wird. Bei der Mergereplikation wird anhand des Kompatibilitätsgrades der Veröffentlichung bestimmt, welche Funktionen von Veröffentlichungen in der jeweiligen Datenbank verwendet werden können.

In diesem Thema

Verwendung von SQL Server Management Studio

Der Kompatibilitätsgrad wird auf der Seite Abonnententypen des Assistenten für neue Veröffentlichung festgelegt. Weitere Informationen zum Zugreifen auf diesen Assistenten finden Sie unter Create a Publicationfestgelegt wird. Nach dem Erstellen einer Veröffentlichungsmomentaufnahme kann der Kompatibilitätsgrad zwar erhöht, nicht aber gesenkt werden. Das Erhöhen des Kompatibilitätsgrades erfolgt auf der Seite Allgemein des Dialogfelds Veröffentlichungseigenschaften - <Veröffentlichung>. Weitere Informationen zum Zugreifen auf dieses Dialogfeld finden Sie unter View and Modify Publication Properties. Wenn Sie den Veröffentlichungskompatibilitätsgrad erhöhen, können alle vorhandenen Abonnements auf Servern, auf denen eine Version vor diesem Kompatibilitätsgrad ausgeführt wird, nicht mehr synchronisiert werden.

Hinweis

Da der Kompatibilitätsgrad Auswirkungen auf andere Veröffentlichungseigenschaften und darauf hat, welche Artikeleigenschaften gültig sind, dürfen Sie den Kompatibilitätsgrad nicht gleichzeitig mit anderen Eigenschaften im Dialogfeld ändern. Die Momentaufnahme für die Veröffentlichung sollte nach dem Ändern der Eigenschaften neu generiert werden.

So legen Sie den Veröffentlichungskompatibilitätsgrad fest

  • Wählen Sie auf der Seite Abonnementtypen des Assistenten für neue Veröffentlichung die Abonnententypen aus, die die Veröffentlichung unterstützen soll.

So erhöhen Sie den Veröffentlichungskompatibilitätsgrad

  • Auf der Seite Allgemein des Dialogfelds Veröffentlichungseigenschaften - <Veröffentlichung> wählen Sie Kompatibilitätsgrad.

Verwenden von Transact-SQL

Der Kompatibilitätsgrad einer Mergeveröffentlichung kann entweder programmgesteuert während der Erstellung der Veröffentlichung festgelegt oder zu einem späteren Zeitpunkt programmgesteuert geändert werden. Sie können gespeicherte Replikationsprozeduren verwenden, um diese Veröffentlichungseigenschaft festzulegen oder zu ändern.

So legen Sie den Veröffentlichungskompatibilitätsgrad einer Mergeveröffentlichung fest

  1. Führen Sie auf dem Verleger sp_addmergepublication (Transact-SQL) unter Angabe eines Werts für @publication_compatibility_level aus, damit die Veröffentlichung mit älteren Versionen von Microsoft SQL Server kompatibel ist. Weitere Informationen finden Sie unter Create a Publication.

So ändern Sie den Veröffentlichungskompatibilitätsgrad einer Mergeveröffentlichung

  1. Führen Sie Sp_changemergepublication (Transact-SQL) unter Angabe von publication_compatibility_level für @property und des entsprechenden Veröffentlichungskompatibilitätsgrads für @value aus.

So bestimmen Sie den Veröffentlichungskompatibilitätsgrad einer Mergeveröffentlichung

  1. Führen Sie sp_helpmergepublication (Transact-SQL) unter Angabe der gewünschten Veröffentlichung aus.

  2. Suchen Sie den Veröffentlichungskompatibilitätsgrad im Resultset in der backward_comp_level -Spalte.

Beispiele (Transact-SQL)

In diesem Beispiel wird eine Mergeveröffentlichung erstellt und der Veröffentlichungskompatibilitätsgrad festgelegt.

-- To avoid storing the login and password in the script file, the values   
-- are passed into SQLCMD as scripting variables. For information about   
-- how to use scripting variables on the command line and in SQL Server  
-- Management Studio, see the "Executing Replication Scripts" section in  
-- the topic "Programming Replication Using System Stored Procedures".  

--Add a new merge publication.  
DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
DECLARE @login AS sysname;
DECLARE @password AS sysname;
SET @publicationDB = N'AdventureWorks2022';
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @login = $(Login);
SET @password = $(Password);

-- Create a new merge publication.   
USE [AdventureWorks2022];
EXEC sp_addmergepublication
    @publication = @publication,
    -- Set the compatibility level to SQL Server 2014.  
    @publication_compatibility_level = '120RTM';

-- Create the snapshot job for the publication.  
EXEC sp_addpublication_snapshot
    @publication = @publication,
    @job_login = @login,
    @job_password = @password;
GO

In diesem Beispiel wird der Veröffentlichungskompatibilitätsgrad einer Mergeveröffentlichung geändert.

Hinweis

Wenn in der Veröffentlichung Funktionen verwendet werden, die einen bestimmten Kompatibilitätsgrad erfordern, darf der Veröffentlichungskompatibilitätsgrad möglicherweise nicht geändert werden. Weitere Informationen finden Sie unter Abwärtskompatibilität von Replikationen.

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

-- Change the publication compatibility level to   
-- SQL Server 2008 or later.
EXEC sp_changemergepublication
    @publication = @publication,
    @property = N'publication_compatibility_level',
    @value = N'100RTM';
GO  
  

In diesem Beispiel wird der aktuelle Veröffentlichungskompatibilitätsgrad einer Mergeveröffentlichung zurückgegeben.

DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
EXEC sp_helpmergepublication
    @publication = @publication;
GO