복제된 데이터베이스 업그레이드 시 고려 사항

SQL Server 2008은 이전 버전의 SQL Server에서 복제된 데이터베이스를 업그레이드할 수 있도록 지원합니다. 따라서 노드 업그레이드 중에 다른 노드의 작업을 중지할 필요가 없으며 한 토폴로지 내에서 지원되는 버전과 관련된 규칙만 잘 지키면 됩니다.

  • SQL Server 2000 서비스 팩 3(SP3)은 SQL Server 2008을 사용하는 복제 토폴로지에 참여하는 데 필요한 최소 버전입니다. SQL Server 2005를 사용하는 경우에는 최소 버전의 제한이 없습니다.

  • 배포자는 게시자 버전 이상인 모든 버전일 수 있습니다. 많은 경우에 배포자는 게시자와 동일한 인스턴스에 있습니다.

  • 게시자는 배포자 버전 이하인 모든 버전일 수 있습니다.

  • 구독자 버전은 게시 유형에 따라 달라집니다.

    • 트랜잭션 게시에 대한 구독자는 게시자의 두 가지 버전 중 어떤 버전이든 될 수 있습니다. 예를 들어 실행 중인 SQL Server 2000 게시자는 SQL Server 2008 구독자를 가질 수 있으며 SQL Server 2008 게시자는 SQL Server 2000 구독자를 가질 수 있습니다.

    • 병합 게시에 대한 구독자는 게시자 버전 이하인 모든 버전일 수 있습니다.

[!참고]

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

업그레이드 전에 트랜잭션 복제용 로그 판독기 에이전트 실행

SQL Server 2008로 업그레이드하기 전에 게시된 테이블의 커밋된 모든 트랜잭션을 로그 판독기 에이전트가 처리했는지 확인해야 합니다. 모든 트랜잭션이 처리되었는지 확인하려면 트랜잭션 게시를 포함하는 각 데이터베이스에 대해 다음 단계를 수행하십시오.

  1. 데이터베이스에서 로그 판독기 에이전트가 실행 중인지 확인합니다. 기본적으로 에이전트는 계속 실행됩니다.

  2. 게시된 테이블에 대한 사용자 동작을 중지합니다.

  3. 로그 판독기 에이전트가 배포 데이터베이스로 트랜잭션을 복사할 때까지 기다린 다음 에이전트를 중지합니다.

  4. sp_replcmds를 실행하여 모든 트랜잭션이 처리되었는지 확인합니다. 이 프로시저의 결과 집합은 비어 있어야 합니다.

  5. sp_replflush를 실행하여 sp_replcmds의 연결을 닫습니다.

  6. SQL Server 2008로 서버를 업그레이드합니다.

  7. 업그레이드 후에 자동으로 시작되지 않는 경우 SQL Server 에이전트 및 로그 판독기 에이전트를 다시 시작합니다.

업그레이드 후 병합 복제를 위한 에이전트 실행

업그레이드 후에 각 병합 게시에 대해 스냅숏 에이전트를 실행하고 각 구독에 대해 병합 에이전트를 실행하여 복제 메타데이터를 업데이트합니다. 구독을 다시 초기화할 필요가 없으므로 새 스냅숏을 적용하지 않아도 됩니다. 구독 메타데이터는 업그레이드 후에 병합 에이전트가 처음 실행될 때 업데이트됩니다. 즉, 게시자를 업그레이드하는 동안 구독 데이터베이스를 온라인 활성 상태로 유지할 수 있습니다.

병합 복제는 게시 및 구독 데이터베이스의 많은 시스템 테이블에 게시 및 구독 메타데이터를 저장합니다. 스냅숏 에이전트를 실행하면 게시 메타데이터가 업데이트되고 병합 에이전트를 실행하면 구독 메타데이터가 업데이트됩니다. 따라서 게시 스냅숏을 생성하기만 하면 됩니다. 병합 게시에 매개 변수가 있는 필터가 사용되면 각 파티션은 스냅숏도 갖게 됩니다. 이러한 분할된 스냅숏은 업데이트하지 않아도 됩니다. SQL Server 2000에서는 매개 변수가 있는 필터를 동적 필터로, 분할된 스냅숏을 동적 스냅숏으로 지칭했습니다.

에이전트는 SQL Server Management Studio, 복제 모니터 또는 명령줄에서 실행합니다. 스냅숏 에이전트를 실행하는 방법은 다음 항목을 참조하십시오.

병합 에이전트를 실행하는 방법은 다음 항목을 참조하십시오.

병합 복제를 사용하는 토폴로지에서 SQL Server를 업그레이드한 후에 새 기능을 사용하려면 모든 게시의 게시 호환성 수준을 변경합니다. 자세한 내용은 복제 토폴로지에 SQL Server의 여러 버전 사용을 참조하십시오.

Standard, Workgroup 또는 Express Edition으로 업그레이드

한 에디션의 SQL Server 2008에서 다른 에디션으로 업그레이드하기 전에 현재 사용 중인 기능이 업그레이드할 에디션에서 지원되는지 확인하십시오. 자세한 내용은 SQL Server 2008 버전에서 지원하는 기능 항목의 "SQL Server 2008 복제 기능" 섹션을 참조하십시오.

새 복제 에이전트 보안 모델

SQL Server 2005 이전 버전의 SQL Server에서 에이전트는 기본적으로 SQL Server 에이전트 서비스 계정의 컨텍스트에서 실행되었습니다. SQL Server 2005에서는 복제 에이전트를 실행하고 데이터베이스 및 기타 리소스에 대한 Windows 통합 연결을 설정하는 각 계정을 더욱 세밀하게 제어할 수 있습니다. 예를 들어 각 에이전트에 대해 다른 계정을 지정할 수 있습니다. 자세한 내용은 보안 및 보호(복제)복제 에이전트 보안 모델을 참조하십시오.

새 보안 모델은 한 토폴로지 내에서 SQL Server 2000 버전을 업그레이드 및 실행할 때 다음과 같은 특성을 갖습니다.

  • 향상된 보안 기능을 사용하려면 SQL Server 2000에서 생성된 복제 스크립트를 SQL Server 2008에 맞게 업그레이드해야 합니다. 자세한 내용은 방법: 복제 스크립트 업그레이드(복제 Transact-SQL 프로그래밍)를 참조하십시오.

  • SQL Server 2000에서 SQL Server 2008로 업그레이드된 배포자나 구독자는 SQL Server 에이전트 계정에서 계속 실행되며 필요한 것보다 더 많은 권한을 가질 수 있습니다. 따라서 업그레이드 후에 에이전트에 대해 적절한 최소 권한을 갖는 별도의 계정을 지정하는 것이 좋습니다. 별도의 계정을 지정하려면

    1. 게시 및 구독을 스크립팅합니다.

    2. 스크립트를 적절히 변경합니다. 자세한 내용은 방법: 복제 스크립트 업그레이드(복제 Transact-SQL 프로그래밍)를 참조하십시오.

    3. 게시 및 구독을 삭제합니다. 자세한 내용은 데이터 및 데이터베이스 개체 게시게시 구독을 참조하십시오.

    4. 수정된 스크립트를 사용하여 게시 및 구독을 다시 만듭니다.

    에이전트에 필요한 권한에 대한 자세한 내용은 복제 에이전트 보안 모델을 참조하고 로그인 및 암호를 관리하는 방법은 복제의 로그인 및 암호 관리를 참조하십시오. 업그레이드 후에 생성된 새 복제 구성의 경우 복제 에이전트별로 특정 계정 구성을 수행해야 합니다.

    [!참고]

    로컬 데이터베이스 연결에 대해 SQL Server 인증을 사용하도록 구성된 에이전트는 Windows 인증을 사용하도록 변경됩니다. 로컬 연결은 에이전트가 있는 컴퓨터에서 실행되는 SQL Server 인스턴스에 대해 에이전트가 설정하는 연결을 말합니다. 예를 들어 끌어오기 구독을 위한 병합 에이전트는 구독자에서 실행되므로 구독자에 대해 설정되는 연결이 로컬 연결이 됩니다.

  • 이전 버전의 SQL Server를 실행하는 복제 토폴로지의 참가자는 이전의 복제 보안 모델을 변경되지 않은 상태로 보유합니다. 예를 들면 다음과 같습니다.

    • SQL Server 2000을 실행하는 구독자에 대한 끌어오기 구독은 병합 에이전트나 배포가 해당 구독자에서 생성되므로 새 보안 모델을 사용하지 않습니다.

    • SQL Server 2008을 실행하는 배포자로부터 SQL Server 2000을 실행하는 구독자로의 밀어넣기 구독은 병합 에이전트나 배포가 해당 배포자에서 생성되므로 새 보안 모델을 사용합니다.

    • SQL Server 2008을 실행하는 배포자로 SQL Server 2000을 실행하는 게시자는 에이전트(스냅숏 에이전트, 로그 판독기 에이전트 또는 큐 판독기 에이전트)가 게시 데이터베이스의 컨텍스트에서 생성되므로 이러한 에이전트에 대해 새 보안 모델을 사용하지 않습니다.

  • SQL Server 2005와 SQL Server 2008은 동일한 보안 모델을 사용합니다.

병합 복제에 대한 웹 동기화

병합 복제에 대한 웹 동기화 옵션을 사용하려면 SQL Server 복제 수신기(replisapi.dll)를 동기화에 사용되는 인터넷 정보 서비스(IIS) 서버의 가상 디렉터리에 복사해야 합니다. 웹 동기화를 구성할 때는 웹 동기화 구성 마법사를 실행하여 가상 디렉터리에 파일을 복사합니다. IIS 서버에 설치된 SQL Server 구성 요소를 업그레이드하는 경우에는 COM 디렉터리의 replisapi.dll을 IIS 서버의 가상 디렉터리에 수동으로 복사해야 합니다. 웹 동기화에 대한 자세한 내용은 웹 동기화 구성을 참조하십시오.

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

이전 버전에서 복제된 데이터베이스의 백업을 복원할 때 복제 설정을 유지하려면 백업이 수행된 서버 및 데이터베이스와 이름이 같은 서버 및 데이터베이스로 복원합니다.