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


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

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

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

  • Для установки уровня совместимости для публикаций слиянием используется:

    Среда SQL Server Management Studio

    Transact-SQL

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

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

ПримечаниеПримечание

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

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

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

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

  • На странице Общие диалогового окна Свойства публикации — <публикация> для параметра Уровень совместимости выберите значение SQL Server 2000 или SQL Server 2005.

Значок стрелки, используемый со ссылкой «В начало»[Top]

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

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

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

  • Чтобы сделать публикацию совместимой с прежними версиями Microsoft SQL Server, выполните на издателе хранимую процедуру sp_addmergepublication (Transact-SQL), указав значение в параметре @publication_compatibility_level. Дополнительные сведения см. в разделе Создание публикации.

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

  • Выполните хранимую процедуру 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'AdventureWorks2012'; 
SET @publication = N'AdvWorksSalesOrdersMerge' 
SET @login = $(Login);
SET @password = $(Password);

-- Create a new merge publication. 
USE [AdventureWorks2012]
EXEC sp_addmergepublication 
    @publication = @publication, 
    -- Set the compatibility level to SQL Server 2005.
    @publication_compatibility_level = '90RTM'; 

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

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

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

EXEC sp_helpmergepublication 
    @publication = @publication;
GO

Значок стрелки, используемый со ссылкой «В начало»[Top]

См. также

Основные понятия

Создание публикации