Задание уровня совместимости для публикаций слиянием
В этом разделе описывается установка уровня совместимости для публикации слиянием в 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.
Определение уровня совместимости для публикации слиянием
Выполните хранимую процедуру sp_helpmergepublication (Transact-SQL), указав нужную публикацию.
Найдите уровень совместимости публикации в столбце 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]