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


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

В этом разделе описывается, как задать уровень совместимости для публикаций слиянием в SQL Server 2014 с помощью 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'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 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 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  
  

См. также:

Create a Publication