Задание уровня совместимости для публикаций слиянием

Применимо к:SQL Server

В этом разделе описывается, как задать уровень совместимости для публикаций слиянием в SQL Server с помощью SQL Server Management Studio или Transact-SQL. В репликации слиянием с помощью уровня совместимости публикации определяется, какие функции могут использоваться публикациями в указанной базе данных.

В этом разделе

Использование среды SQL Server Management Studio

Установите уровень совместимости на странице Типы подписчиков мастера создания публикации. Дополнительные сведения о доступе к этому мастеру см. в разделе Create a Publication. После создания моментального снимка публикации уровень совместимости можно увеличить, но нельзя снизить. Увеличьте уровень совместимости на странице "Общие " диалогового окна "Свойства публикации — <публикация> ". Дополнительные сведения о доступе к этому диалоговому окну см. в разделе Просмотр и изменение свойств публикации. При повышении уровня совместимости публикации все существующие подписки на серверах, использующих версии с меньшими уровнями совместимости, более не смогут синхронизироваться.

Примечание.

Так как уровень совместимости влияет на другие свойства публикации, для которых свойства статьи являются допустимыми, не изменяйте одновременно уровень совместимости и другие свойства в одном сеансе работы с диалоговым окном. После изменения свойства необходимо повторно сформировать моментальный снимок публикации.

Установка уровня совместимости публикации

  • На странице Типы подписчиков мастера создания публикации выберите типы подписчиков, которые должны поддерживаться публикацией.

Повышение уровня совместимости публикации

  • На странице "Общие" диалогового окна "Свойства публикации — публикация>" <выберите уровень совместимости.

Использование Transact-SQL

Уровень совместимости для публикации слиянием можно программно установить при создании публикации или программно изменить позже. Установить или изменить свойства публикации можно с помощью хранимых процедур репликации.

Установка уровня совместимости для публикации слиянием

  1. На издателе выполните sp_addmergepublication (Transact-SQL), указав значение для @publication_compatibility_level совместимости публикации с более старыми версиями Microsoft SQL Server. Дополнительные сведения см. в разделе Create a Publication.

Изменение уровня совместимости для публикации слиянием

  1. Выполните sp_changemergepublication (Transact-SQL), указав publication_compatibility_level для @property и соответствующий уровень совместимости публикации.@value

Определение уровня совместимости для публикации слиянием

  1. Выполните sp_helpmergepublication (Transact-SQL), указав нужную публикацию.

  2. Найдите уровень совместимости публикации в столбце backward_comp_level результирующего набора.

Примеры (Transact-SQL)

В примере создается публикация слиянием и устанавливается уровень совместимости публикации.

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

В примере изменяется уровень совместимости публикации для публикации слиянием.

Примечание.

Изменение уровня совместимости публикации может быть запрещено, если публикация использует функции, для которых необходим конкретный уровень совместимости. Дополнительные сведения см. в статье Обратная совместимость репликации.

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  
  

В примере возвращается текущий уровень совместимости публикации для публикации слиянием.

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

См. также

Create a Publication