다음을 통해 공유


데이터베이스 엔진 업그레이드 시 고려 사항

SQL Server 데이터베이스 엔진을 SQL Server 2008로 업그레이드할 수 있습니다. 지원되는 업그레이드 경로에 대한 자세한 내용은 버전 및 에디션 업그레이드를 참조하십시오.

SQL Server 설치 프로그램은 최소한의 사용자의 개입만으로 이전 버전의 SQL Server를 업그레이드할 수 있습니다. 업그레이드 프로세스를 사전에 제대로 준비하고 잘 이해하면 문제 발생을 방지할 수 있고 문제가 발생하더라도 보다 쉽게 해결할 수 있습니다.

이 항목에서는 업그레이드 프로세스를 준비하고 이해하는 데 필요한 다음과 같은 정보를 제공합니다.

  • 알려진 업그레이드 문제

  • 업그레이드 전 태스크 및 고려 사항

  • 데이터베이스 엔진 업그레이드 절차 항목에 대한 링크

  • 데이터베이스를 SQL Server로 마이그레이션하는 절차 항목에 대한 링크

  • 장애 조치(Failover) 클러스터에 대한 고려 사항

  • 업그레이드 후 태스크 및 고려 사항

알려진 업그레이드 문제

데이터베이스 엔진을 업그레이드하기 전에 SQL Server 데이터베이스 엔진의 이전 버전과의 호환성을 검토하십시오. 지원되는 업그레이드 시나리오와 알려진 업그레이드 문제에 대한 자세한 내용은 버전 및 에디션 업그레이드를 참조하십시오. 다른 SQL Server 구성 요소에 대한 이전 버전과의 호환성 정보를 보려면 이전 버전과의 호환성을 참조하십시오.

중요 정보중요

한 버전의 SQL Server에서 다른 버전으로 업그레이드하기 전에 현재 사용 중인 기능이 업그레이드할 버전에서 지원되는지 확인하십시오.

업그레이드 전 검사 목록

이전 SQL Server 버전에서의 업그레이드는 SQL Server 설치 프로그램에서 지원됩니다. 이전 SQL Server 버전에서 데이터베이스를 마이그레이션할 수도 있습니다. 한 SQL Server 인스턴스에서 같은 컴퓨터에 있는 다른 인스턴스로, 또는 다른 컴퓨터에 있는 SQL Server 인스턴스에서 마이그레이션할 수 있습니다. 마이그레이션 옵션에는 데이터베이스 복사 마법사, 백업 및 복원 기능, SQL Server 2005Integration Services 가져오기 및 내보내기 마법사, 대량 내보내기/대량 가져오기 방법의 사용이 포함됩니다.

데이터베이스 엔진을 업그레이드하기 전에 다음을 수행해야 합니다.

SQL Server를 업그레이드하기 전에 다음 사항을 검토하고 변경합니다.

  • SQL Server 64비트 버전에서 SQL Server 2008 64비트 버전으로 업그레이드하는 경우 데이터베이스 엔진을 업그레이드하기 전에 Analysis Services를 업그레이드해야 합니다.

  • SQL Server 에이전트가 MSX/TSX 관계에 참여하는 SQL Server 인스턴스를 업그레이드하는 경우 마스터 서버를 업그레이드하기 전에 대상 서버를 업그레이드하십시오. 대상 서버보다 마스터 서버를 먼저 업그레이드하면 SQL Server 에이전트가 SQL Server의 마스터 인스턴스에 연결할 수 없습니다.

  • 필요할 때 복원할 수 있도록 업그레이드할 인스턴스의 모든 SQL Server 데이터베이스 파일을 백업합니다.

  • 업그레이드할 데이터베이스에서 적절한 DBCC(데이터베이스 콘솔 명령)를 실행하여 데이터베이스가 일관된 상태를 유지하도록 합니다.

  • SQL Server 구성 요소 및 사용자 데이터베이스 업그레이드에 필요한 디스크 공간을 예측합니다. SQL Server 구성 요소에 필요한 디스크 공간은 SQL Server 2008 설치를 위한 하드웨어 및 소프트웨어 요구 사항을 참조하십시오.

  • 기존 SQL Server 시스템 데이터베이스(master, model, msdb, tempdb)가 자동 증가하도록 구성되어 있는지 확인하고 하드 디스크 공간이 충분한지 확인합니다.

  • master 데이터베이스에 모든 데이터베이스 서버에 대한 로그온 정보가 있는지 확인합니다. 시스템 로그온 정보는 master 데이터베이스에 있으므로 이는 데이터베이스 복원을 위해 중요합니다.

  • 업그레이드 프로세스를 수행할 경우 업그레이드 중인 SQL Server 인스턴스의 서비스가 중지되었다가 시작되므로 모든 시작 저장 프로시저를 해제합니다. 시작 시 처리되는 저장 프로시저로 인해 업그레이드 프로세스가 중단될 수 있습니다.

  • 복제를 중지하고 복제 로그가 비어 있는지 확인합니다.

  • SQL Server 2000 데이터베이스 엔진 인스턴스를 업그레이드해도 최대 max worker threads의 구성 값은 그대로 유지됩니다. 그러나 데이터베이스 엔진에서 최적의 스레드 수를 계산할 수 있도록 업그레이드 전에 max worker threads 값을 0으로 변경하는 것이 좋습니다. 자세한 내용은 SQL Server 온라인 설명서의 max worker threads 옵션을 참조하십시오.

  • SQL Server 종속성을 갖는 모든 서비스를 포함한 모든 응용 프로그램을 끝냅니다. 로컬 응용 프로그램이 업그레이드 중인 인스턴스에 연결되어 있으면 업그레이드가 실패할 수 있습니다.

  • 데이터베이스 미러링을 사용하는 경우 SQL Server 온라인 설명서의 방법: 서버 인스턴스 업그레이드 시 미러된 데이터베이스의 작동 중단 최소화를 참조하십시오.

데이터베이스 엔진 업그레이드

버전 업그레이드로 SQL Server 2000 또는 SQL Server 2005 설치를 덮어쓸 수 있습니다. SQL Server 설치 프로그램을 실행할 때 이전 버전의 SQL Server가 검색되면 이전의 모든 SQL Server 프로그램 파일이 업그레이드되고 이전 SQL Server 인스턴스에 저장된 모든 데이터는 그대로 보존됩니다. 또한 이전 버전의 SQL Server 온라인 설명서도 변경되지 않고 컴퓨터에 남아 있습니다.

주의 사항주의

SQL Server를 업그레이드하면 이전 SQL Server 인스턴스를 덮어쓰게 되므로 이러한 인스턴스는 시스템에 더 이상 존재하지 않게 됩니다. 따라서 업그레이드 전에 이전 SQL Server 인스턴스와 연결된 SQL Server 데이터베이스 및 기타 개체를 백업하십시오.

SQL Server 설치 마법사를 사용하여 데이터베이스 엔진을 업그레이드할 수 있습니다.

주의 사항주의

컴퓨터에 SQL Server 2000 관리 도구와 SQL Server 2008 기본 인스턴스가 설치되어 있으면 SQL Server 설치 프로그램을 통해 SQL Server 2000 기본 인스턴스를 설치할 수 있습니다. 그러나 이렇게 하면 설치된 SQL Server 2008 인스턴스를 사용할 수 없게 됩니다. 따라서 SQL Server 2000 관리 도구와 SQL Server 2008 기본 인스턴스가 컴퓨터에 이미 있는 경우에는 SQL Server 기본 인스턴스를 설치하지 마십시오.

업그레이드 후 데이터베이스 호환성 수준

업그레이드 후에는 tempdb, model, msdbResource 데이터베이스의 호환성 수준이 100으로 설정됩니다. master 시스템 데이터베이스는 업그레이드 이전의 호환성 수준이 80 미만이 아니었다면 이전 호환성 수준으로 유지됩니다. master 데이터베이스의 호환성 수준이 업그레이드 이전에 80 미만이었다면 업그레이드 후에는 80으로 설정됩니다.

사용자 데이터베이스의 호환성 수준이 업그레이드 이전에 80 또는 90이었다면 업그레이드 후에도 동일하게 유지됩니다. 업그레이드 이전에 호환성 수준이 70 이하였다면 업그레이드된 데이터베이스에서는 SQL Server 2008에서 지원되는 가장 낮은 호환성 수준인 80으로 설정됩니다.

[!참고]

새 사용자 데이터베이스는 model 데이터베이스의 호환성 수준을 상속합니다.

데이터베이스 마이그레이션

SQL Server의 백업 및 복원 기능이나 분리 및 연결 기능을 사용하여 사용자 데이터베이스를 SQL Server 인스턴스로 이동할 수 있습니다.

중요 정보중요

원본 서버와 대상 서버에서 이름이 같은 데이터베이스는 이동하거나 복사할 수 없습니다. 이 경우 "이미 존재하는 것"으로 인식됩니다.

자세한 내용은 데이터베이스 복사 마법사 사용 또는 방법: 데이터베이스 복사 마법사를 사용한 SQL Server 업그레이드를 참조하십시오.

데이터베이스 엔진 업그레이드 후 수행할 작업

데이터베이스 엔진을 업그레이드한 후에 다음 태스크를 완료하십시오.

  • 서버를 다시 등록합니다. 서버 등록에 대한 자세한 내용은 SQL Server 온라인 설명서의 서버 등록 항목을 참조하십시오.

  • 전체 텍스트 카탈로그를 다시 채웁니다. 이 작업을 사용하면 SQL Server 설치의 성능이 향상됩니다. 자세한 내용은 SQL Server 온라인 설명서의 sp_fulltext_catalog(Transact-SQL) 항목을 참조하십시오.

  • SQL Server 2000에서 업그레이드한 후 모든 데이터베이스의 통계를 업데이트합니다. sp_updatestats 저장 프로시저를 사용하여 SQL Server 데이터베이스에 있는 사용자 정의 테이블의 통계를 업데이트할 수 있습니다. SQL Server 2005에서 업그레이드하는 경우에는 이 단계를 수행할 필요가 없습니다.

  • 모든 데이터베이스에서 DBCC UPDATEUSAGE를 실행하여 잘못된 행이나 페이지 수를 수정합니다.

  • SQL Server 설치를 구성합니다. SQL Server는 공격받을 수 있는 시스템의 노출 영역을 줄이기 위해 핵심 서비스와 기능을 선별하여 설치 및 활성화합니다.

  • SQL Server 2005에서 생성되어 분할된 테이블 및 인덱스에 대한 쿼리에 적용되는 USE PLAN 힌트의 유효성을 검사하거나 이러한 힌트를 제거합니다.

    SQL Server 2008에서는 분할된 테이블 및 인덱스에 대한 쿼리의 처리 방법이 달라졌습니다. SQL Server 2005에서 생성된 계획에 USE PLAN 힌트를 사용하는 분할된 개체에 대한 쿼리에는 SQL Server 2008에서 사용할 수 없는 계획이 포함될 수 있습니다. SQL Server 2008로 업그레이드한 후 다음 절차를 수행하는 것이 좋습니다.

    USE PLAN 힌트가 쿼리에 직접 지정된 경우

    1. 쿼리에서 USE PLAN 힌트를 제거합니다.

    2. 쿼리를 테스트합니다.

    3. 최적화 프로그램에서 적절한 계획을 선택하지 못하는 경우 쿼리를 조정하고 원하는 쿼리 계획에서 USE PLAN 힌트를 지정하는 방법을 고려합니다.

    USE PLAN 힌트가 계획 지침에 지정된 경우

    1. sys.fn_validate_plan_guide 함수를 사용하여 계획 지침의 유효성을 검사합니다. 또는 SQL Server Profiler에서 Plan Guide Unsuccessful 이벤트를 사용하여 잘못된 계획이 있는지 확인할 수 있습니다.

    2. 계획 지침이 올바르지 않으면 해당 계획 지침을 삭제합니다. 최적화 프로그램에서 적절한 계획을 선택하지 못하는 경우 쿼리를 조정하고 원하는 쿼리 계획에서 USE PLAN 힌트를 지정하는 방법을 고려합니다.

    계획 지침에 USE PLAN 힌트가 지정된 경우 잘못된 계획 지침은 쿼리 실패를 유발하지 않습니다. 대신 USE PLAN 힌트를 사용하지 않은 채 쿼리가 컴파일됩니다. 분할된 개체에서의 쿼리 처리에 대한 자세한 내용은 분할된 테이블 및 인덱스에서의 향상된 쿼리 처리를 참조하십시오.

업그레이드 전에 전체 텍스트 카탈로그가 설정 또는 해제된 것으로 표시된 데이터베이스는 업그레이드 후에도 해당 상태가 유지됩니다. 전체 텍스트 카탈로그가 설정된 데이터베이스의 경우 업그레이드 후에 전체 텍스트 카탈로그가 자동으로 다시 작성되고 채워집니다. 이 작업에는 시간과 리소스가 많이 소요됩니다. 전체 텍스트 인덱싱 작업을 일시적으로 중지하려면 다음 문을 실행합니다.

EXEC sp_fulltext_service 'pause_indexing', 1

전체 텍스트 인덱스 채우기를 재개하려면 다음 문을 실행합니다.

EXEC sp_fulltext_service 'pause_indexing', 0

변경 내역

업데이트된 내용

"데이터베이스 엔진 업그레이드 후 수행할 작업" 섹션에서 SQL Server 2000을 업그레이드한 후 통계를 업데이트하는 데 관한 권장 사항이 변경되었습니다.