Как настроить уровень совместимости для публикаций слиянием (программирование репликации на языке Transact-SQL)
Уровень совместимости для публикации слиянием можно программно установить при создании публикации или программно изменить позже. Установить или изменить свойства публикации можно с помощью хранимых процедур репликации. Дополнительные сведения об уровне совместимости и соответствующих ограничениях и требованиях см. в подразделе «Уровень совместимости для публикаций слиянием» раздела Использование нескольких версий SQL Server в топологии репликации.
Установка уровня совместимости для публикации слиянием
- Чтобы сделать публикацию совместимой с прежними версиями MicrosoftSQL Server, выполните на издателе хранимую процедуру sp_addmergepublication (Transact-SQL), указав значение в параметре @publication_compatibility_level. Дополнительные сведения см. в разделе Как создать публикацию (программирование репликации на языке Transact-SQL).
Изменение уровня совместимости для публикации слиянием
- Выполните хранимую процедуру sp_changemergepublication (Transact-SQL), указав значение publication_compatibility_level в параметре @property и соответствующий уровень совместимости публикации в параметре @value.
Определение уровня совместимости для публикации слиянием
Выполните хранимую процедуру sp_helpmergepublication (Transact-SQL), указав нужную публикацию.
Найдите уровень совместимости публикации в столбце 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'AdventureWorks';
SET @publication = N'AdvWorksSalesOrdersMerge'
SET @login = $(Login);
SET @password = $(Password);
-- Create a new merge publication.
USE [AdventureWorks]
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