Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Este tópico descreve como definir o nível de compatibilidade para publicações de fusão no SQL Server utilizando o SQL Server Management Studio ou Transact-SQL. A replicação por fusão utiliza o nível de compatibilidade de publicações para determinar quais as funcionalidades que podem ser usadas por publicações numa dada base de dados.
Usando o SQL Server Management Studio
Defina o nível de compatibilidade na página Tipos de Assinantes do Assistente de Novas Publicações. Para mais informações sobre como aceder a este assistente, consulte Criar uma Publicação. Após a criação de um snapshot de publicação, o nível de compatibilidade pode ser aumentado, mas não pode ser diminuído. Aumente o nível de compatibilidade na página Geral da caixa de diálogo Propriedades de Publicação - <Publicação> . Para mais informações sobre como aceder a esta caixa de diálogo, consulte Visualizar e Modificar Propriedades de Publicação. Se aumentar o nível de compatibilidade de publicações, quaisquer subscrições existentes em servidores que executem versões anteriores ao nível de compatibilidade deixarão de conseguir sincronizar.
Note
Como o nível de compatibilidade tem implicações para outras propriedades de publicação e para as quais propriedades do artigo são válidas, não altere o nível de compatibilidade e outras propriedades na mesma utilização da caixa de diálogo. O snapshot da publicação deve ser regenerado após a alteração da propriedade.
Para definir o nível de compatibilidade de publicações
- Na página de Tipos de Assinantes do Assistente de Novas Publicações, selecione os tipos de Subscritores que a publicação deve suportar.
Para aumentar o nível de compatibilidade de publicações
- Na página Geral da caixa de diálogo Propriedades de Publicação - <Publicação> , selecione o nível de Compatibilidade.
Usando Transact-SQL
O nível de compatibilidade para uma publicação de fusão pode ser definido programaticamente quando uma publicação é criada ou modificado programaticamente numa data posterior. Pode usar procedimentos armazenados de replicação para definir ou alterar esta propriedade de publicação.
Para definir o nível de compatibilidade de publicações para uma publicação de fusão
- No Publicador, execute sp_addmergepublication (Transact-SQL), especificando um valor para
@publication_compatibility_levelde modo a tornar a publicação compatível com versões mais antigas do Microsoft SQL Server. Para mais informações, consulte Criar uma Publicação.
Para alterar o nível de compatibilidade de publicações de uma publicação de fusão
- Execute sp_changemergepublication (Transact-SQL), especificando publication_compatibility_level para
@propertye o nível de compatibilidade de publicação apropriado para@value.
Para determinar o nível de compatibilidade de publicações de uma publicação de fusão
Execute sp_helpmergepublication (Transact-SQL), especificando a publicação desejada.
Localize o nível de compatibilidade de publicações na coluna backward_comp_level do conjunto de resultados.
Exemplos (Transact-SQL)
Este exemplo cria uma publicação de fusão e define o nível de compatibilidade de publicações.
-- 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 exemplo altera o nível de compatibilidade da publicação da fusão.
Note
Alterar o nível de compatibilidade da publicação pode não ser permitido se a publicação utilizar funcionalidades que exijam um determinado nível de compatibilidade. Para mais informações, consulte Retrocompatibilidade da 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
Este exemplo devolve o nível atual de compatibilidade de publicações para a publicação da fusão.
DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
EXEC sp_helpmergepublication
@publication = @publication;
GO