복제 토폴로지에 SQL Server의 여러 버전 사용

업데이트: 2007년 9월 15일

복제는 서로 다른 버전의 Microsoft SQL Server로의 데이터 복제를 지원합니다. 이 항목에서는 다루는 내용은 다음과 같습니다.

  • SQL Server 버전 지원
  • 이전 버전에 대한 SQL Server 2005 데이터 형식 매핑
  • 이전 버전에서 복제된 데이터베이스 복원
  • 병합 게시에 대한 호환성 수준

Microsoft SQL Server 2005 Express Edition 및 Microsoft SQL Server Compact Edition으로 데이터를 복제하는 방법은 SQL Server Express에 데이터 복제SQL Server Compact Edition으로 데이터 복제를 참조하십시오. SQL Server의 각 버전에서 지원하는 기능에 대한 자세한 내용은 SQL Server 2005 Edition에서 지원하는 기능을 참조하십시오.

[!참고] 이 항목은 설치 도움말 설명서와 SQL Server 2005 온라인 설명서에서 참조할 수 있습니다. 설치 도움말 설명서에서 굵게 표시된 항목 링크는 SQL Server 2005 온라인 설명서에만 제공되는 항목을 나타냅니다.

지원되는 SQL Server 버전

SQL Server 버전 7.0 서비스 팩 4(SP4)는 SQL Server 2005를 사용하는 복제 토폴로지에 참여할 수 있는 초기 버전입니다. SQL Server 2000을 사용할 경우에는 SP3 이상이 필요합니다.

서로 다른 버전의 SQL Server 간에 복제하는 경우 가장 오래된 버전의 기능으로 제한되는 경우가 많습니다. 예를 들어 배포자를 SQL Server 2005 인스턴스로 업그레이드하지만 게시자는 SQL Server 2000 인스턴스를 실행하고 구독자는 SQL Server 7.0 인스턴스를 실행하는 경우 SQL Server 7.0의 일반 기능 및 복제 기능으로 제한됩니다.

[!참고] SQL Server의 디스크상 저장소 형식은 64비트와 32비트 환경에서 동일하므로 복제 토폴로지는 32비트 환경에서 실행하는 서버 인스턴스와 64비트에서 실행하는 서버 인스턴스를 결합할 수 있습니다.

모든 유형의 복제에서 배포자 버전은 게시자 버전과 같거나 그 이후 버전이어야 합니다. 많은 경우에 배포자는 게시자와 동일한 인스턴스로 실행됩니다. SQL Server 2005를 SQL Server 2005 및 SQL Server 2000의 원격 배포자로 사용할 수 있지만 SQL Server 7.0의 원격 배포자로는 사용할 수 없습니다. 다음 표에서는 같은 토폴로지에 참여할 수 있는 SQL Server 버전에 대한 추가 정보를 제공합니다. 다양한 버전의 SQL Server에서 지원되는 복제 기능에 대한 자세한 내용은 SQL Server 2005 Edition에서 지원하는 기능을 참조하십시오.

읽기 전용 구독자가 있는 트랜잭션 복제 및 스냅숏 복제

배포자

SQL Server 7.0

SQL Server 2000

SQL Server 2005

게시자

SQL Server 7.0

SQL Server 7.0

SQL Server 2000

SQL Server 2000

SQL Server 2005

구독자

SQL Server 7.0

SQL Server 2000

SQL Server 2005

SQL Server 7.0

SQL Server 2000

SQL Server 2005

SQL Server 7.0

SQL Server 2000

SQL Server 2005

위의 표에서는 게시자의 두 가지 버전 중 어떤 버전이든 트랜잭션 게시에 대한 읽기 전용 구독자가 될 수 있음을 보여 줍니다. 예를 들어 SQL Server 7.0 게시자는 SQL Server 2005 구독자를 가질 수 있으며 SQL Server 2005 게시자는 SQL Server 7.0 구독자를 가질 수 있습니다.

구독자 업데이트가 있는 트랜잭션 복제

배포자

SQL Server 7.0

SQL Server 2000

SQL Server 2005

게시자

SQL Server 7.01

SQL Server 7.01

SQL Server 20002

SQL Server 20002

SQL Server 20053

구독자

SQL Server 7.0

SQL Server 7.0

SQL Server 2000

SQL Server 2005

SQL Server 7.0

SQL Server 2000

SQL Server 2005

1 SQL Server 7.0 게시자에 대해 SQL Server 7.0 구독자만 지원됩니다.

2 SQL Server 2000 게시자에 대해 SQL Server 7.0, SQL Server 2000 및 SQL Server 2005 구독자가 지원됩니다.

3 SQL Server 2005 게시자에 대해 SQL Server 2000 및 SQL Server 2005 구독자가 지원됩니다.

병합 복제

배포자

SQL Server 7.0

SQL Server 2000

SQL Server 2005

게시자

SQL Server 7.0

SQL Server 7.0

SQL Server 2000

SQL Server 2000

SQL Server 2005

구독자

SQL Server 7.0

SQL Server 7.0

SQL Server 2000

SQL Server 7.0

SQL Server 2000

SQL Server 2005

위의 표에서는 해당 게시자 버전은 모두 병합 게시의 구독자가 될 수 있음을 보여 줍니다. 이전 버전과의 호환성에 대한 자세한 내용은 이 항목의 뒷부분에 나오는 "병합 게시에 대한 호환성 수준"을 참조하십시오.

SQL Server 7.0 및 SQL Server Management Studio

SQL Server Management Studio는 SQL Server 2000 이후 버전을 실행 중인 인스턴스에 연결할 수 있습니다. SQL Server 7.0을 실행 중인 구독자의 경우 다음을 참조하십시오.

  • 구독과 게시는 SQL Server 7.0 도구, SQL Server 2000 도구, SQL-DMO(SQL Distributed Management Objects) 또는 저장 프로시저를 사용하여 만들 수 있습니다.
  • 끌어오기 구독의 에이전트는 Management Studio 또는 복제 모니터에서 시작할 수 없습니다. 에이전트는 구독 생성 시 일정에 따라 실행되도록 지정하거나 필요에 따라 명령 프롬프트에서 실행할 수 있습니다.

SQL Server 7.0을 실행 중인 구독자에 대한 구독은 생성된 다음 Management Studio 및 복제 모니터에 나타납니다. 구독 및 게시 생성 방법과 에이전트 실행 방법은 SQL Server 7.0 온라인 설명서를 참조하십시오.

SQL Server 2000에서 실행 중인 게시자에서 SQL Server 2005 배포자 사용

SQL Server 2005는 SQL Server 2000을 실행 중인 게시자를 위한 원격 배포자로 사용할 수 있습니다. 이 시나리오에서 에이전트 속성을 변경하려면 배포자에서 다음 저장 프로시저를 실행하십시오. 다음 프로시저를 통해 SQL Server 2005에 새로 도입된 속성을 변경할 수 있습니다.

SQL Server 2000을 실행 중인 게시자 및 배포자가 있는 경우 에이전트가 sp_changedistpublishersp_changesubscriber를 사용하여 연결할 때 적용되는 자격 증명을 변경할 수 있습니다. 그러나 배포자를 SQL Server 2005로 업그레이드하는 경우 이러한 프로시저를 사용하여 기존 에이전트 작업에 사용되는 자격 증명을 변경할 수 없습니다. 프로시저가 호출된 다음 생성된 에이전트 작업은 프로시저의 영향을 받습니다. 기존 에이전트 작업에 대한 자격 증명을 변경하려면 위에 나열된 4개의 프로시저 중 하나를 호출하십시오.

이전 버전을 위한 SQL Server 2005 데이터 형식 매핑

SQL Server 2005에 새 데이터 형식이 다수 도입되었습니다. 이러한 데이터 형식은 SQL Server 2005 배포자에서 밀어넣기 구독이 사용된 경우 구독자에서 호환 가능한 데이터 형식으로 매핑됩니다.

SQL Server 2005 데이터 형식 SQL Server 2000 또는 SQL Server 7.0 데이터 형식

xml

ntext

CLR UDT(사용자 정의 유형)

image

varchar(max)

text

nvarchar(max)

ntext

varbinary(max)

image

varchar(max), nvarchar(max), varbinary(max), xmlL 및 CLR 사용자 정의 유형을 이전 버전의 SQL Server를 실행 중인 구독자에 복제하는 경우 해당 형식을 적절하게 매핑해야 합니다. 병합 게시 아티클의 경우 이는 기본적으로 수행됩니다. 이러한 유형의 매핑 동작은 sp_addarticlesp_addmergearticle0x20, 0x100000000x20000000 스키마 옵션에 의해 제어됩니다. 스키마 옵션 설정 방법은 방법: 스키마 옵션 지정(SQL Server Management Studio)How to: Specify Schema Options (Replication Transact-SQL Programming)를 참조하십시오.

SQL Server 2000에서는 SQL Server 7.0에 대해 호환 가능한 데이터 형식으로 매핑되는 두 개의 새로운 데이터 형식을 도입했었습니다. 이러한 새 데이터 형식은 SQL Server 2005 또는 SQL Server 2000 배포자에서 밀어넣기 구독이 사용된 경우 구독자에서 호환 가능한 데이터 형식으로 매핑됩니다.

SQL Server 2005 또는 SQL Server 2000 데이터 형식 SQL Server 7.0 데이터 형식

SQL_VARIANT

IMAGE

BIGINT

DECIMAL

이전 버전에서 복제된 데이터베이스 복원

이전 버전에서 복제된 데이터베이스의 백업을 복원할 경우 복제 설정을 유지할 수 있습니다. 백업 수행 시의 서버 및 데이터베이스와 같은 이름으로 서버 및 데이터베이스에 백업을 복원할 경우 또는 KEEP_REPLICATION 옵션을 지정한 경우 복제 설정을 유지합니다. 자세한 내용은 RESTORE(Transact-SQL)를 참조하십시오. 데이터베이스를 복원한 후 sp_vupgrade_replication(Transact-SQL)을 실행하여 현재 제품 수준의 복제를 지원하도록 스키마 및 시스템 데이터를 업그레이드합니다.

이전 버전에서 백업을 복원한 후 복제를 유지할 수 있지만 업그레이드 옵션에서 이 기능은 거의 사용되지 않습니다. 복제된 데이터베이스를 제품 업그레이드의 일부로 업그레이드하거나 스크립트 집합에서 데이터베이스 및 복제 구성을 다시 만드는 기능이 더 일반적으로 사용됩니다.

병합 게시에 대한 호환성 수준

병합 복제는 게시 호환성 수준을 사용하여 지정된 데이터베이스에서 게시에 사용할 수 있는 기능을 확인합니다. 값 범위는 70RTM(서비스 팩이 설치되지 않은 SQL Server 7.0)에서 90RTM까지입니다. 호환성 수준은 다음과 같이 지정됩니다.

다음 기능은 90RTM 이상의 호환성 수준을 필요로 합니다.

다음 기능은 호환성 수준에는 관계가 없지만 SQL Server 2005와 함께 제공되는 병합 에이전트를 필요로 합니다. 이전 버전의 SQL Server를 실행 중인 구독자는 해당 기능이 설정되지 않은 것처럼 동작합니다.

SQL Server 2005의 게시 호환성 수준 동작

게시 호환성 수준의 동작을 파악하는 것이 중요합니다.

  • 이 게시 호환성 수준은 데이터베이스 호환성 수준과는 관계가 없습니다.
  • sp_addmergepublication 또는 RMO(복제 관리 개체)를 사용하여 게시를 만들 경우 게시 호환성 수준은 기본적으로 80RTM으로 설정됩니다. 새 게시 마법사에서 게시를 만들 경우 게시 호환성 수준은 마법사의 구독자 유형 페이지에서 선택한 옵션을 기준으로 결정됩니다.
  • 이전 버전의 SQL Server에서는 보다 높은 호환성 수준이 필요한 기능을 설정하면 게시 호환성 수준이 자동으로 증가되었습니다. SQL Server 2005에서는 해당 호환성 수준이 필요한 기능을 설정하기 전에 수동으로 게시 호환성 수준을 90RTM으로 설정해야 합니다.
    SQL Server 7.0에서 게시자를 업그레이드한 다음 80RTM의 호환성 수준을 필요로 하는 기능을 하나 이상 선택하면 호환성 수준은 자동으로 증가됩니다.
  • 게시 호환성 수준은 스냅숏 에이전트가 시작되지 않고 게시에 구독이 없는 경우에만 감소시킬 수 있습니다.
  • 동일한 데이터베이스의 모든 게시는 동일한 호환성 수준을 가집니다. 결과적으로 다음과 같은 작업이 필요합니다.
    • 데이터베이스에 호환성 수준이 낮은(예: 80RTM) 게시가 있는데 동일한 데이터베이스에 90RTM 수준의 또 다른 게시를 추가하려는 경우 새로운 게시를 추가하기 전에 수동으로 첫 번째 게시의 수준을 증가시켜야 합니다.
    • 데이터베이스에 호환성 수준이 낮은 게시가 두 개 이상 있는데 동일한 데이터베이스에 90RTM 수준의 또 다른 게시를 추가하려는 경우 기존 게시 중 하나를 제외한 모든 게시를 삭제하고, 삭제하지 않은 게시의 수준을 90RTM으로 증가시키고, 삭제한 게시를 90RTM 수준으로 다시 만들고, 90RTM 수준으로 새 게시를 만들어야 합니다.

참고 항목

개념

복제의 이전 버전과의 호환성
복제된 데이터베이스 업그레이드

관련 자료

향상된 복제 기능

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2007년 9월 15일

새로운 내용
  • SQL Server 디스크상 저장소 형식이 64비트 및 32비트 환경에서 동일하다는 참고를 추가했습니다.

2006년 4월 14일

변경된 내용
  • 동일한 복제 토폴로지에 사용할 수 있는 SQL Server 버전을 명확하게 설명하는 표를 추가했습니다.
  • 데이터 형식 매핑에 사용되는 스키마 옵션에 대한 정보를 추가했습니다.
  • SQL Server 7.0에서 SQL Server 2005 인스턴스를 원격 배포자로 사용할 수 있다는 정보를 제거했습니다. 이 구성은 지원되지 않습니다.