Procédure : définir le niveau de compatibilité des publications de fusion (programmation Transact-SQL de la réplication)
Le niveau de compatibilité d'une publication de fusion peut être défini par programme au moment de la création d'une publication ou être modifié par programme ultérieurement. Vous pouvez utiliser des procédures stockées de réplication pour définir ou modifier cette propriété de publication. Pour plus d'informations sur le niveau de compatibilité d'une publication et sur les restrictions et spécifications associées, consultez la section « Niveau de compatibilité pour les publications de fusion » dans la rubrique Utilisation de plusieurs versions de SQL Server dans une topologie de réplication.
Pour définir le niveau de compatibilité d'une publication de fusion
- Sur le serveur de publication, exécutez sp_addmergepublication (Transact-SQL), en spécifiant une valeur pour @publication_compatibility_level afin de rendre la publication compatible avec des versions antérieures de Microsoft SQL Server. Pour plus d'informations, consultez Procédure : créer une publication (programmation Transact-SQL de la réplication).
Pour modifier le niveau de compatibilité d'une publication de fusion
- Exécutez sp_changemergepublication (Transact-SQL), en spécifiant publication_compatibility_level pour @property et le niveau de compatibilité de publication approprié pour @value.
Pour déterminer le niveau de compatibilité d'une publication de fusion
Exécutez sp_helpmergepublication (Transact-SQL), en spécifiant la publication souhaitée.
Recherchez le niveau de compatibilité de la publication dans la colonne backward_comp_level du jeu de résultats.
Exemple
Cet exemple crée une publication de fusion et définit son niveau de compatibilité.
-- 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'AdventureWorks2008R2';
SET @publication = N'AdvWorksSalesOrdersMerge'
SET @login = $(Login);
SET @password = $(Password);
-- Create a new merge publication.
USE [AdventureWorks2008R2]
EXEC sp_addmergepublication
@publication = @publication,
-- Set the compatibility level to SQL Server 2000 SP3.
@publication_compatibility_level = '80RTM';
-- Create the snapshot job for the publication.
EXEC sp_addpublication_snapshot
@publication = @publication,
@job_login = @login,
@job_password = @password;
GO
Cet exemple modifie le niveau de compatibilité d'une publication de fusion
Notes
La modification du niveau de compatibilité de la publication peut être interdite si la publication utilise une fonctionnalités qui requiert un niveau de compatibilité particulier. Pour plus d'informations, consultez Compatibilité descendante de la réplication.
DECLARE @publication AS sysname
SET @publication = N'AdvWorksSalesOrdersMerge'
-- Change the publication compatibility level to
-- SQL Server 2005.
EXEC sp_changemergepublication
@publication = @publication,
@property = N'publication_compatibility_level',
@value = N'90RTM'
GO
Cet exemple retourne le niveau de compatibilité actuel de la publication de fusion
DECLARE @publication AS sysname
SET @publication = N'AdvWorksSalesOrdersMerge'
EXEC sp_helpmergepublication
@publication = @publication;
GO