SQL Server 2000 로그 전달 구성을 SQL Server 2008로 업그레이드

SQL Server 2000 로그 전달 구성은 SQL Server 2008로 업그레이드할 수 없습니다. SQL Server 2000에서 로그 전달에 필요한 데이터베이스 유지 관리 계획 마법사가 SQL Server 2005부터는 로그 전달 구성의 일부로 사용되지 않습니다. 따라서 서버를 SQL Server 2008로 업그레이드하면 로그 전달이 작동하지 않습니다.

그러나 SQL Server 2000 로그 전달 구성을 마이그레이션할 수는 있습니다. 이 항목에서는 이 작업을 수행하는 방법에 대해 설명합니다.

  • 장애 조치(Failover)를 포함하여 마이그레이션하면 로그 전달 구성에서 각 서버를 업그레이드하는 동안에도 데이터베이스를 계속 사용할 수 있습니다. 보조 데이터베이스는 다시 초기화하지 않아도 됩니다.

  • 장애 조치를 제외하고 마이그레이션하면 보조 서버로 장애 조치할 필요가 없는 단순한 절차를 수행할 수 있습니다. 이 절차를 수행할 경우 주 서버를 업그레이드하는 동안 데이터베이스를 사용할 수 없습니다. 보조 데이터베이스는 다시 초기화하지 않아도 됩니다.

  • 전체 백업에서 보조 데이터베이스를 다시 초기화하는 작업을 포함하여 로그 전달을 다시 배포하는 작업을 완료합니다.

로그 전달 구성을 SQL Server 2008로 마이그레이션한 후에는 SQL Server 2000 로그 전달로 만든 테이블과 SQL Server 에이전트 작업을 삭제할 수 있습니다.

[!참고]

백업 압축은 SQL Server 2008 Enterprise에서 도입되었습니다. 마이그레이션된 로그 전달 구성은 백업 압축 기본값 서버 수준 구성 옵션을 사용하여 백업 압축을 트랜잭션 로그 백업 파일에 사용할지 여부를 제어합니다. 로그 백업에 대한 백업 압축 동작은 각 로그 전달 구성에 지정할 수 있습니다. 자세한 내용은 방법: 로그 전달 설정(SQL Server Management Studio)을 참조하십시오.

제한 사항

SQL Server 2000 로그 전달 구성을 SQL Server 2008로 마이그레이션한 후에는 보조 데이터베이스를 대기 모드로 지정할 수 없습니다.

장애 조치 포함 마이그레이션

장애 조치(Failover)를 사용한 로그 전달 구성 마이그레이션은 주 서버 인스턴스를 임시로 원래 SQL Server 버전으로 유지하고 보조 서버 인스턴스를 업그레이드해야 합니다. 서버 인스턴스를 업그레이드하면 온라인 데이터베이스만 업그레이드됩니다. 로그 전달 보조 데이터베이스와 같은 오프라인 데이터베이스는 원래 SQL Server 버전으로 유지됩니다. 데이터베이스가 오프라인 상태인 동안에는 원래 SQL Server 버전의 로그 백업을 복원할 수 있습니다.

의미를 명확히 전달하기 위해 이 절차에서는 SQL Server 2000 로그 전달 주 서버 인스턴스를 서버 A, SQL Server 2000 로그 전달 보조 서버 인스턴스를 서버 B라고 합니다. 다음 그림에서는 주 서버 인스턴스 A와 단일 보조 서버 인스턴스 B로 구성된 이러한 구성을 보여 줍니다.

보조 서버 1대, 모니터 서버 없음

  1. 보조 서버 인스턴스인 서버 B를 SQL Server 2008로 업그레이드합니다. 서버 B를 업그레이드할 때 로그 전달 데이터베이스는 오프라인 상태이므로 여전히 SQL Server 2000 데이터베이스입니다. 이 데이터베이스는 다음 단계에서 업그레이드됩니다. 로그 파일을 복사하고 복원하는 SQL Server 2000 로그 전달 작업은 더 이상 작동하지 않습니다.

    [!참고]

    지금은 사용자가 서버 A의 주 데이터베이스에 계속 액세스할 수 있습니다.

  2. 주 서버 인스턴스인 서버 A에서 보조 서버 인스턴스인 서버 B로 장애 조치합니다.

    1. 장애 조치하려면 적용되지 않은 모든 트랜잭션 로그 백업을 서버 A의 주 데이터베이스에서 서버 B로 복원합니다.

    2. WITH NORECOVERY를 지정하여 주 데이터베이스의 트랜잭션 비상 로그를 백업합니다. 이 로그 백업은 아직 백업되지 않은 모든 로그 레코드를 캡처하고 데이터베이스를 오프라인 상태로 만듭니다.

      다음 예에서는 주 서버에 있는 AdventureWorks 데이터베이스의 비상 로그를 백업합니다. 백업 파일의 이름은 Failover_AW_20080315.trn입니다.

      BACKUP LOG AdventureWorks 
        TO DISK = N'\\FileServer\LogShipping\AdventureWorks\Failover_AW_20080315.trn'
        WITH NORECOVERY;
      GO
      
    3. 트랜잭션 비상 로그 WITH RECOVERY를 복원하여 서버 B의 보조 데이터베이스를 온라인 상태로 만듭니다.

    장애 조치 프로세스는 보조 데이터베이스를 온라인 상태로 만듭니다. 그러면 이 보조 데이터베이스는 SQL Server 2008 데이터베이스로 자동으로 업그레이드됩니다. 데이터베이스 업그레이드 프로세스는 모두 로그됩니다.

    [!참고]

    업그레이드된 후 사용자가 서버 B의 로그 전달 데이터베이스를 사용할 수 있습니다. 그러나 서버 B에서 SQL Server 2008 로그 전달을 구성할 때까지 서버 B의 데이터베이스 로그 백업은 사용되지 않습니다.

  3. 서버 A를 SQL Server 2008로 업그레이드합니다. 로그 전달 데이터베이스는 오프라인 상태이므로 일시적으로 여전히 SQL Server 2000 데이터베이스입니다.

  4. 서버 B에서 서버 B를 주 서버로 지정하고 서버 A를 보조 서버로 지정하여 SQL Server 2008 로그 전달을 구성합니다. 서버 A에 대해 전달 트랜잭션 로그를 시작한 후에는 첫 번째 로그 백업이 적용될 때 서버 A의 로그 전달 데이터베이스가 SQL Server 2008 데이터베이스로 업그레이드됩니다.

    중요 정보중요

    서버 B에서 로그 전달을 구성할 때 보조 데이터베이스 설정 대화 상자의 보조 데이터베이스 초기화 탭에서 아니요, 보조 데이터베이스가 초기화되었습니다 옵션을 지정해야 합니다. 자세한 내용은 방법: 로그 전달 설정(SQL Server Management Studio)을 참조하십시오.

  5. 또는 서버 A를 다시 주 서버로 지정하려면 서버 A로 장애 조치합니다. 자세한 내용은 주 서버와 보조 서버 간의 역할 변경을 참조하십시오.

장애 조치 제외 마이그레이션

장애 조치를 사용하지 않고도 SQL Server 2000 로그 전달 구성을 SQL Server 2005로 마이그레이션할 수 있습니다. 이 절차를 수행하면 로그 전달 구성의 두 서버 인스턴스를 쉽게 업그레이드할 수 있습니다. 그러나 주 서버 인스턴스를 SQL Server 2008로 업그레이드하는 동안에는 주 데이터베이스를 사용할 수 없습니다.

  1. 보조 서버 인스턴스를 SQL Server 2008로 업그레이드합니다. 보조 서버 인스턴스를 업그레이드할 때 로그 전달 데이터베이스는 오프라인 상태이므로 여전히 SQL Server 2000 데이터베이스입니다. 로그 파일을 복사하고 복원하는 SQL Server 2000 로그 전달 작업은 더 이상 작동하지 않습니다.

  2. 주 서버를 SQL Server 2008로 업그레이드합니다. 업그레이드하는 동안에는 주 데이터베이스를 사용할 수 없습니다.

  3. 주 서버 인스턴스에서 보조 서버 인스턴스로 로그 전달을 구성합니다. 보조 데이터베이스 설정 대화 상자의 보조 데이터베이스 초기화 탭에서 아니요, 보조 데이터베이스가 초기화되었습니다 옵션을 지정해야 합니다. 자세한 내용은 방법: 로그 전달 설정(SQL Server Management Studio)을 참조하십시오.

    중요 정보중요

    SQL Server 2000 로그 전달 구성에 사용한 것과 같은 백업 공유를 지정합니다. 이렇게 하면 SQL Server 2008에서 로그 전달을 설정할 때 모든 로그 백업이 보조 데이터베이스에 알맞게 적용됩니다.

    데이터베이스 업그레이드 프로세스는 완전히 로그되는 작업이므로 보조 서버 인스턴스로 전달 로그를 시작할 때 보조 데이터베이스가 SQL Server 2008 데이터베이스로 업그레이드됩니다.

로그 전달 다시 배포

로그 전달 구성을 마이그레이션하지 않으려는 경우 주 데이터베이스의 전체 백업 및 복원으로 보조 데이터베이스를 다시 초기화하여 로그 전달을 처음부터 다시 배포할 수 있습니다. 데이터베이스 크기가 작거나 업그레이드 절차를 수행하는 동안 고가용성이 필요 없는 경우 알맞은 방법입니다.

로그 전달을 설정하려면

SQL Server 2000 로그 전달 테이블 및 작업 제거

SQL Server 2008에서는 SQL Server 2000에 사용된 로그 전달 테이블을 사용하지 않습니다. 따라서 서버를 SQL Server 2008로 업그레이드한 후에는 이러한 테이블을 삭제할 수 있습니다. 이러한 테이블은 다음과 같습니다.

  • log_shipping_databases

  • log_shipping_monitor

  • log_shipping_plan_databases

  • log_shipping_plan_history

  • log_shipping_plans

  • log_shipping_primaries

  • log_shipping_secondaries

SQL Server 2000에서 로그 전달 구성을 위해 만든 로그 전달 SQL Server 에이전트 작업을 삭제할 수도 있습니다.