Définir le niveau de compatibilité pour les publications de fusion
Cette rubrique explique comment définir le niveau de compatibilité pour les publications de fusion dans SQL Server 2012 à l'aide de SQL Server Management Studio ou de Transact-SQL. La réplication de fusion utilise le niveau de compatibilité de publication pour déterminer les fonctionnalités qui peuvent être utilisées par des publications dans une base de données particulière.
Dans cette rubrique
Pour définir le niveau de compatibilité des publications de fusion à l'aide de :
SQL Server Management Studio
Transact-SQL
Utilisation de SQL Server Management Studio
Définir le niveau de compatibilité sur la page Types d'abonnés de l'Assistant Nouvelle publication. Pour plus d'informations sur l'accès à cet Assistant, consultez Créer une publication. Après la création d'un instantané de publication, le niveau de compatibilité peut être augmenté, mais il ne peut pas être diminué. Augmenter le niveau de compatibilité sur la page Général de la boîte de dialogue Propriétés de la publication - <publication>. Pour plus d'informations sur l'accès à cette boîte de dialogue, consultez Afficher et modifier les propriétés d'une publication. Si vous augmentez le niveau de compatibilité de la publication, tous les abonnements existants sur les serveurs exécutant des versions antérieures au niveau de compatibilité ne peuvent plus se synchroniser.
[!REMARQUE]
Le niveau de compatibilité ayant des implications sur d'autres propriétés de la publication et sur la détermination de la validité des propriétés des articles, ne modifiez pas le niveau de compatibilité ni d'autres propriétés dans la boîte de dialogue. L'instantané pour la publication doit être régénéré après la modification de la propriété.
Pour définir le niveau de compatibilité de la publication
- Sur la page Types d'abonnés de l'Assistant Nouvelle publication, sélectionnez les types d'abonnés que la publication doit prendre en charge.
Pour augmenter le niveau de compatibilité de la publication
- Sur la page Général de la boîte de dialogue Propriétés de la publication - <publication>, sélectionnez SQL Server 2000 ou SQL Server 2005 comme valeur pour Niveau de compatibilité.
[Top]
Utilisation de Transact-SQL
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 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 MicrosoftSQL Server. Pour plus d'informations, consultez Créer une publication.
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.
Exemples (Transact-SQL)
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'AdventureWorks2012';
SET @publication = N'AdvWorksSalesOrdersMerge'
SET @login = $(Login);
SET @password = $(Password);
-- Create a new merge publication.
USE [AdventureWorks2012]
EXEC sp_addmergepublication
@publication = @publication,
-- Set the compatibility level to SQL Server 2005.
@publication_compatibility_level = '90RTM';
-- 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
[!REMARQUE]
La modification du niveau de compatibilité de la publication peut être interdite si la publication utilise une fonctionnalité 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 2012.
EXEC sp_changemergepublication
@publication = @publication,
@property = N'publication_compatibility_level',
@value = N'110RTM'
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
[Top]