방법: 병합 게시에 대한 호환성 수준 설정(복제 Transact-SQL 프로그래밍)
병합 게시의 호환성 수준은 게시를 만들 때 설정하거나 이후에 프로그래밍 방식으로 수정할 수 있습니다. 병합 저장 프로시저를 사용하여 이 게시 속성을 설정 또는 변경할 수 있습니다. 게시 호환성 수준 및 이에 관련된 제한과 요구 사항에 대해서는 복제 토폴로지에 SQL Server의 여러 버전 사용 항목의 "병합 게시에 대한 호환성 수준" 섹션을 참조하십시오.
병합 게시에 대한 게시 호환성 수준을 설정하려면
- 게시가 Microsoft SQL Server 이전 버전과 호환되도록 하려면 @publication_compatibility_level의 값을 지정하고 게시자에서 sp_addmergepublication(Transact-SQL)을 실행합니다. 자세한 내용은 방법: 게시 만들기(복제 Transact-SQL 프로그래밍)를 참조하십시오.
병합 게시의 게시 호환성 수준을 변경하려면
- @property에는 publication_compatibility_level을 지정하고 @value에는 적절한 게시 호환성 수준을 설정하여 sp_changemergepublication(Transact-SQL)을 실행합니다.
병합 게시의 게시 호환성 수준을 확인하려면
원하는 게시를 지정하고 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'AdventureWorks2008R2';
SET @publication = N'AdvWorksSalesOrdersMerge'
SET @login = $(Login);
SET @password = $(Password);
-- Create a new merge publication.
USE [AdventureWorks2008R2]
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