SQL Server 2005 Replication의 동작 변경 내용

업데이트: 2006년 4월 14일

이 항목에서는 Microsoft SQL Server 2000 복제 기능의 달라진 동작에 대해 설명합니다. 향상된 복제 기능에 대한 자세한 내용은 향상된 복제 기능을 참조하십시오.

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

모든 유형의 복제에 영향을 주는 동작 변경

다음 변경 내용은 모든 유형의 복제에 영향을 미칩니다.

기능 설명

복제 에이전트 보안 모델

이전 버전의 SQL Server에서 에이전트는 기본적으로 SQL Server 에이전트 서비스 계정의 컨텍스트에서 실행되었습니다. 그러나 Microsoft SQL Server 2005에서는 복제 에이전트가 실행되는 각 계정을 보다 세부적으로 제어하며 데이터베이스 및 기타 리소스에 대한 Microsoft Windows 통합 연결을 설정할 수 있습니다. 따라서 각 에이전트에 대해 다른 계정을 지정할 수 있습니다. 자세한 내용은 복제에 대한 보안 고려 사항복제 에이전트 보안 모델을 참조하십시오. 이러한 변경 내용이 업그레이드에 영향을 미치는 방식에 대한 자세한 내용은 복제된 데이터베이스 업그레이드SQL Server 2005 Replication의 주요 변경의 "새 복제 에이전트 보안 모델" 섹션을 참조하십시오.

Windows 동기화 관리자

이전 버전의 SQL Server에서 동기화 관리자로 구독을 동기화하는 기능이 기본적으로 설정되어 있습니다. SQL Server 2005에서는 동기화 관리자를 사용하려면 이 옵션을 명시적으로 설정해야 합니다. 자세한 내용은 방법: Windows 동기화 관리자를 사용하여 구독 동기화(Windows 동기화 관리자)를 참조하십시오.

복제 충돌 뷰어

SQL Server 2000에서는 복제 충돌 뷰어가 재배포를 위해 패키지되었습니다. SQL Server 2005에서는 뷰어가 별도로 패키지되지 않습니다. 응용 프로그램에 복제 충돌 뷰어를 포함하려면 응용 프로그램이 배포된 컴퓨터에 Microsoft .NET Framework 2.0를 설치하고 해당 컴퓨터에 많은 파일을 복사해야 합니다. 자세한 내용은 업그레이드 관리자 도움말에서 "기타 복제 업그레이드 문제"를 참조하십시오. 업그레이드 관리자에 대한 자세한 내용은 업그레이드 관리자를 사용하여 업그레이드 준비를 참조하십시오.

스키마 옵션 변경 내용

스키마 옵션은 테이블에 연결된 인덱스 및 제약 조건 등의 개체 및 특성을 복제하는 방법을 지정합니다. SQL Server 2005에서 많은 스키마 옵션의 동작이 변경되었습니다. 이 항목의 다음 세션에서 더 많은 정보를 제공합니다.

스키마 옵션 동작 변경 내용

다음 표에서는 SQL Server 2005에서의 스키마 옵션 변경 내용을 요약합니다.

[!참고] SQL Server 2000에서 0x8000 스키마 옵션이 설정된 경우에는 SQL Server 2005로 업그레이드 시 이 스키마 옵션을 사용할 수 없습니다. 0x10 또는 0x40 스키마 옵션의 경우 복제가 SQL Server 2000보다는 SQL Server 2005에서 더 많은 수의 인덱스를 만듭니다.

옵션 SQL Server 2000에서 옵션이 설정된 경우의 동작 SQL Server 2005에서 옵션이 설정된 경우의 동작

0x80

제약 조건 또는 인덱스를 만듭니다. 0x8000 옵션도 사용할 수 있는 경우 기본 키가 인덱스를 포함하는 제약 조건으로 생성됩니다. 0x8000 옵션을 사용할 수 없는 경우에는 기본 키 열에서 인덱스만 생성됩니다.

구독자에 PRIMARY KEY 제약 조건을 만듭니다. 또한 0x100x40 옵션을 사용할 수 없는 경우에도 제약 조건에 연결된 인덱스가 모두 복제됩니다. 이러한 옵션은 다른 경우에서는 인덱스 생성 작업을 제어합니다.

0x4000

제약 조건 또는 인덱스를 만듭니다. 0x8000 옵션도 사용할 수 있는 경우 UNIQUE 제약 조건이 인덱스를 포함하는 제약 조건으로 생성됩니다. 0x8000 옵션을 사용할 수 없는 경우에는 열에서 인덱스만 생성됩니다.

구독자에 모든 UNIQUE 제약 조건을 만듭니다. 또한 0x100x40 옵션을 사용할 수 없는 경우에도 제약 조건에 연결된 인덱스가 모두 복제됩니다. 이러한 옵션은 다른 경우에서는 인덱스 생성 작업을 제어합니다.

0x8000

0x80 또는 0x4000 옵션도 지정된 경우 PRIMARY KEY 제약 조건 및 UNIQUE 제약 조건을 만듭니다. 이러한 옵션이 둘 다 지정되지 않은 경우에는 0x8000 옵션이 아무런 영향을 미치지 않습니다.

옵션이 아무런 영향을 미치지 않습니다.

트랜잭션 복제의 동작 변경

다음 변경 내용은 트랜잭션 복제에 영향을 미칩니다.

기능 설명

구독자 개체 소유권

SQL Server 2005의 새 게시 마법사를 사용하여 게시를 만들 때 구독자에서 생성된 개체의 소유자는 기본적으로 게시자에 있는 해당 개체의 소유자 값이 됩니다. 이전 릴리스에서는 구독자에서 개체를 생성하는 동안 소유권이 지정되지 않으며 구독자에 연결하는 데 사용된 배포 에이전트 계정과 관련된 소유권이 기본적으로 사용되었습니다. 이 동작은 저장 프로시저 sp_addarticle(Transact-SQL)에 대해서는 달라지지 않습니다.

업데이트할 수 있는 구독 보안 모드

sp_link_publication@security_mode 매개 변수는 즉시 구독 업데이트에 대한 트리거가 게시자에서 호출하는 방식을 제어합니다. SQL Server 2005에서 이 매개 변수에 대한 옵션은 다음과 같습니다.

  • 0: 로그인 및 암호로 저장 프로시저에 지정된 로그인과 함께 SQL Server 인증을 사용합니다.
  • 1: 구독자에서 변경을 수행한 사용자의 보안 컨텍스트(SQL Server 인증 또는 Windows 통합 인증)를 사용합니다.
  • 2: 기존의 사용자 정의 링크된 서버 로그인을 사용합니다.

이전 버전의 SQL Server에서 옵션 0은 링크된 서버가 아닌 구독자에서 게시자로의 동적 RPC(원격 프로시저 호출)를 지정하는 데 사용되었습니다.

병합 복제의 동작 변경

다음 변경 내용은 병합 복제에 영향을 미칩니다.

기능

설명

게시 호환성 수준

이전 버전의 SQL Server에서는 보다 높은 호환성 수준이 필요한 기능을 설정하면 호환성 수준이 자동으로 향상되었습니다. SQL Server 2005에서는 해당 호환성 수준이 필요한 기능을 설정하기 전에 수동으로 호환성 수준을 90RTM으로 설정해야 합니다. 자세한 내용은 복제 토폴로지에 SQL Server의 여러 버전 사용의 "병합 게시에 대한 호환성 수준" 섹션을 참조하십시오.

보상 동작

이전 버전의 SQL Server에서는 동기화 중에 제약 조건 위반과 같은 오류가 발생하면 보상 동작이 수행되었습니다. 이러한 동작이 바람직한 경우도 있지만 문제가 될 수도 있습니다. 예를 들어 구독자가 잘못 구성되어 오류가 발생한 경우 게시자와 다른 모든 구독자에서 해당 변경이 취소될 수 있습니다.

SQL Server 2005에서 sp_addmergearticle@compensate_for_errors 매개 변수는 보상 동작의 수행 여부를 제어합니다. False(기본값)로 설정되면 보상 동작이 해제되지만 오류는 여전히 기록되고 후속 병합은 해당 변경 내용을 적용하려고 계속 시도합니다. 영향 받은 행의 데이터가 일치하지 않은 것으로 나타날 수 있지만 오류를 처리하면 바로 변경 내용이 적용되고 데이터가 일치하게 됩니다. True로 설정하면 동기화 중에 노드에 적용할 수 없는 변경 내용으로 인해 다른 모든 노드에서 해당 변경을 취소하는 보상 동작이 수행됩니다.

ms143733.note(ko-kr,SQL.90).gif참고:

아티클의 원본 테이블이 이미 다른 게시에 게시된 경우 @compensate_for_errors 값은 두 아티클에 대해 동일해야 합니다. SQL Server 2000 버전 8.00.858 및 이전 버전(서비스 팩 3 포함)이 실행되는 구독자의 끌어오기 구독의 경우 @compensate_for_errorsFalse로 설정해도 보상 동작이 계속 발생합니다.

충돌 테이블

이전 버전의 SQL Server에서 병합 복제는 conflict_<ArticleName> 형식의 이름을 갖는 게시의 각 테이블 아티클에 대해 단일 충돌 테이블을 생성합니다. SQL Server 2005에서 이 정보는 MSmerge_conflicts_info 테이블과 MSmerge_conflict_<PublicationName>_<ArticleName> 형식의 이름을 갖는 테이블에 포함됩니다.

보존 기간 기반 메타데이터 정리

SQL Server 2005는 SQL Server 2000 서비스 팩 1에 도입된 보존 기간 기반 메타데이터 정리 기능을 사용합니다. 메타데이터는 다음 시스템 테이블에서 주기적으로 삭제됩니다.

  • MSmerge_contents
  • MSmerge_tombstone
  • MSmerge_genhistory
  • 이전 이미지 테이블(있는 경우). 게시에 대해 @keep_partition_changes 동기화 최적화 옵션이 설정된 경우 이전 이미지 테이블이 있습니다. 이 옵션에 대한 자세한 내용은 다음 섹션을 참조하십시오.

@keep_partition_changes 매개 변수

이전 버전의 SQL Server에서 @keep_partition_changes 매개 변수는 기본적으로 False로 설정됩니다. 이렇게 설정되면 게시자에 더 많은 데이터가 저장될 수 있기 때문입니다. 그러나 이제 게시 호환성 수준이 90RTM 이상이고 @use_partition_groups 매개 변수가 False로 설정되면 이 매개 변수는 True로 설정됩니다. 이러한 옵션에 대한 자세한 내용은 매개 변수가 있는 행 필터를 참조하십시오.

참고 항목

개념

복제의 이전 버전과의 호환성

관련 자료

향상된 복제 기능

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2006년 4월 14일

새로운 내용
  • 스키마 옵션의 동작 변경 내용에 대한 정보를 추가했습니다.