Compartir por


Establecer el nivel de compatibilidad para publicaciones de mezcla

Se aplica a: SQL Server

En este tema, se describe cómo establecer el nivel de compatibilidad para las publicaciones de combinación en SQL Server mediante SQL Server Management Studio o Transact-SQL. La replicación de mezcla emplea el nivel de compatibilidad de la publicación para determinar qué características pueden usar las publicaciones de una base de datos determinada.

En este tema

Uso de SQL Server Management Studio

Establezca el nivel de compatibilidad en la página Tipos de suscriptor del Asistente para nueva publicación. Para obtener más información acerca de cómo obtener acceso a este asistente, vea Create a Publication. Después de crear una publicación de instantáneas, el nivel de compatibilidad se puede aumentar pero no se puede reducir. Aumente el nivel de compatibilidad en la página General del cuadro de diálogo Propiedades de la publicación: <Publicación>. Para obtener más información sobre el acceso a este cuadro de diálogo, vea View and Modify Publication Properties. Si aumenta el nivel de compatibilidad, las suscripciones existentes en los servidores que se ejecuten con versiones anteriores al nivel de compatibilidad no se podrán sincronizar.

Nota:

Debido a que el nivel de compatibilidad tiene implicaciones en otras propiedades de la publicación y en cuanto a qué propiedades del artículo son válidas, no cambie el nivel de compatibilidad ni otras propiedades en el mismo uso del cuadro de diálogo. La instantánea de la publicación se volverá a generar después de cambiar la propiedad.

Para establecer el nivel de compatibilidad de la publicación

  • En la página Tipos de suscriptor del Asistente para nueva publicación, seleccione los tipos de suscriptores que admitirá la publicación.

Para aumentar el nivel de compatibilidad de la publicación

  • En la página General del cuadro de diálogo Propiedades de la publicación: <Publicación>, seleccione el valor deseado para Nivel de compatibilidad.

Usar Transact-SQL

El nivel de compatibilidad para una publicación de combinación se puede establecer mediante programación cuando una publicación se crea o bien, se puede modificar mediante programación en un momento posterior. Puede usar procedimientos almacenados de replicación para establecer o cambiar esta propiedad de publicación.

Para establecer el nivel de compatibilidad de la publicación para una publicación de combinación

  1. En el publicador, ejecute sp_addmergepublication (Transact-SQL) y especifique un valor para @publication_compatibility_level a fin de que la publicación sea compatible con versiones anteriores de Microsoft SQL Server. Para obtener más información, vea Crear una suscripción.

Para cambiar el nivel de compatibilidad de la publicación de una publicación de combinación

  1. Ejecute sp_changemergepublication (Transact-SQL) y especifique publication_compatibility_level para @property y el nivel de compatibilidad de la publicación adecuado para @value.

Para determinar el nivel de compatibilidad de la publicación de una publicación de combinación

  1. Ejecute sp_helpmergepublication (Transact-SQL) y especifique la publicación deseada.

  2. Busque el nivel de compatibilidad de la publicación en la columna de backward_comp_level en el conjunto de resultados.

Ejemplos (Transact-SQL)

Este ejemplo crea una publicación de combinación y establece el nivel de compatibilidad de la publicación.

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

Este ejemplo cambia el nivel de compatibilidad de la publicación para la publicación de combinación.

Nota:

Cambiar el nivel de compatibilidad de la publicación podría no permitirse si la publicación usa alguna característica que requiera un nivel de compatibilidad determinado. Para obtener más información, vea Compatibilidad con versiones anteriores de replicación.

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  
  

Este ejemplo devuelve el nivel de compatibilidad de la publicación actual para la publicación de combinación.

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