Поделиться через


Как настроить уровень совместимости для публикаций слиянием (программирование репликации на языке Transact-SQL)

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

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

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

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

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

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

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

Пример

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

-- 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'AdventureWorks2008R2'; 
SET @publication = N'AdvWorksSalesOrdersMerge' 
SET @login = $(Login);
SET @password = $(Password);

-- Create a new merge publication. 
USE [AdventureWorks2008R2]
EXEC sp_addmergepublication 
    @publication = @publication, 
    -- Set the compatibility level to SQL Server 2000 SP3.
    @publication_compatibility_level = '80RTM'; 

-- 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 2005.
EXEC sp_changemergepublication 
    @publication = @publication, 
    @property = N'publication_compatibility_level', 
    @value = N'90RTM'
GO

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

DECLARE @publication AS sysname
SET @publication = N'AdvWorksSalesOrdersMerge' 

EXEC sp_helpmergepublication 
    @publication = @publication;
GO