Задание уровня совместимости для публикаций слиянием
Область применения: SQL Server
В этом разделе описывается, как задать уровень совместимости для публикаций слиянием в SQL Server с помощью SQL Server Management Studio или Transact-SQL. В репликации слиянием с помощью уровня совместимости публикации определяется, какие функции могут использоваться публикациями в указанной базе данных.
В этом разделе
Для установки уровня совместимости для публикаций слиянием используется:
Использование среды SQL Server Management Studio
Установите уровень совместимости на странице Типы подписчиков мастера создания публикации. Дополнительные сведения о доступе к этому мастеру см. в разделе Create a Publication. После создания моментального снимка публикации уровень совместимости можно увеличить, но нельзя снизить. Увеличьте уровень совместимости на странице "Общие " диалогового окна "Свойства публикации — <публикация> ". Дополнительные сведения о доступе к этому диалоговому окну см. в разделе Просмотр и изменение свойств публикации. При повышении уровня совместимости публикации все существующие подписки на серверах, использующих версии с меньшими уровнями совместимости, более не смогут синхронизироваться.
Примечание.
Так как уровень совместимости влияет на другие свойства публикации, для которых свойства статьи являются допустимыми, не изменяйте одновременно уровень совместимости и другие свойства в одном сеансе работы с диалоговым окном. После изменения свойства необходимо повторно сформировать моментальный снимок публикации.
Установка уровня совместимости публикации
- На странице Типы подписчиков мастера создания публикации выберите типы подписчиков, которые должны поддерживаться публикацией.
Повышение уровня совместимости публикации
- На странице "Общие" диалогового окна "Свойства публикации — публикация>" <выберите уровень совместимости.
Использование Transact-SQL
Уровень совместимости для публикации слиянием можно программно установить при создании публикации или программно изменить позже. Установить или изменить свойства публикации можно с помощью хранимых процедур репликации.
Установка уровня совместимости для публикации слиянием
- На издателе выполните sp_addmergepublication (Transact-SQL), указав значение для
@publication_compatibility_level
совместимости публикации с более старыми версиями Microsoft SQL Server. Дополнительные сведения см. в разделе Create a Publication.
Изменение уровня совместимости для публикации слиянием
- Выполните 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'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