Partilhar via


Definir o nível de compatibilidade para publicações de mesclagem

Aplica-se a: SQL Server

Este tópico descreve como definir o nível de compatibilidade para mesclar publicações no SQL Server usando o SQL Server Management Studio ou o Transact-SQL. A replicação de mesclagem usa o nível de compatibilidade da publicação para determinar quais recursos podem ser usados pelas publicações em um determinado banco de dados.

Neste tópico

Como usar o SQL Server Management Studio.

Defina o nível de compatibilidade na página Tipos de Assinante do Assistente para Nova Publicação. Para obter mais informações sobre como acessar esse assistente, consulte Create a Publication. Depois da criação de um instantâneo de publicação, é possível aumentar mas não diminuir o nível de compatibilidade. Aumente o nível de compatibilidade na página Geral da caixa de diálogo Propriedades de Publicação – <Publicação>. Para obter mais informações sobre como acessar essa caixa de diálogo, consulte View and Modify Publication Properties. Se você aumentar o nível de compatibilidade da publicação, quaisquer assinaturas existentes nos servidores que executem versões anteriores ao nível de compatibilidade não conseguirão sincronizar.

Observação

Como o nível de compatibilidade tem implicações para outras propriedades da publicação e para a definição de quais propriedades de artigo são válidas, não altere o nível de compatibilidade e outras propriedades no mesmo uso da caixa de diálogo. O instantâneo porque a publicação deveria ser regenerada depois que a propriedade seja alterada.

Para definir o nível de compatibilidade de publicação

  • Na página Tipos de Assinante do Assistente para Nova Publicação, selecione os tipos de Assinantes para os quais a publicação deve fornecer suporte.

Para aumentar o nível de compatibilidade de publicação

  • Na página Geral da caixa de diálogo Propriedades de Publicação – <Publicação>, selecione Nível de compatibilidade.

Usando o Transact-SQL

O nível de compatibilidade para uma publicação de mesclagem, pode ser definida, programaticamente, quando uma publicação é criada ou modificada programaticamente depois. Você pode usar procedimentos armazenados de replicação para definir ou alterar esta propriedade de publicação.

Para definir o nível de compatibilidade para uma publicação de mesclagem

  1. No Publicador, execute sp_addmergepublication (Transact-SQL), especificando um valor para @publication_compatibility_level a fim de tornar a publicação compatível com versões antigas do Microsoft SQL Server. Para obter mais informações, consulte Criar uma assinatura.

Para definir o nível de compatibilidade da publicação de uma publicação de mesclagem

  1. Execute sp_changemergepublication (Transact-SQL), especificando publication_compatibility_level para @property e o nível de compatibilidade da publicação adequado para @value.

Para determinar o nível de compatibilidade da publicação de uma publicação de mesclagem

  1. Execute sp_helpmergepublication (Transact-SQL), especificando a publicação desejada.

  2. Localize o nível de compatibilidade da publicação na coluna backward_comp_level no conjunto de resultados.

Exemplos (Transact-SQL)

Esse exemplo cria uma publicação de mesclagem e define o nível de compatibilidade da publicação.

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

Esse exemplo altera uma publicação de mesclagem e define o nível de compatibilidade da publicação.

Observação

Alterar o nível de compatibilidade da publicação pode não ser permitido se a publicação usar qualquer recurso que necessite de um nível de compatibilidade específico. Para obter mais informações, consulte Compatibilidade com versões anteriores de replicação.

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  
  

Esse exemplo retorna o nível de compatibilidade da publicação atual para a publicação de mesclagem.

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