데이터베이스 엔진 업그레이드 계획 및 테스트

적용 대상:SQL Server - Windows 한정

성공적인 SQL Server 업그레이드를 수행하려면 접근 방식에 관계없이 적절한 계획이 필요합니다.

릴리스 정보 및 알려진 업그레이드 문제

데이터베이스 엔진을 업그레이드하기 전에 다음을 검토하세요.

업그레이드 전 계획 체크리스트

데이터베이스 엔진을 업그레이드하기 전에 다음 체크리스트 및 관련 문서를 검토하세요. 이러한 아티클은 업그레이드 방법과 상관없이 모든 업그레이드에 적용되며 가장 적절한 업그레이드 방법(즉, 롤링 업그레이드, 새 설치 업그레이드 또는 내부 업그레이드)을 결정하는 데 도움이 됩니다. 예를 들어 운영 체제를 업그레이드하거나, SQL Server 2005에서 업그레이드하거나, 32비트 버전의 SQL Server에서 업그레이드하는 경우 현재 위치 업그레이드 또는 롤링 업그레이드를 수행할 수 없습니다. 자세한 내용은 C데이터베이스 엔진 업그레이드 방법 선택을 참조하세요.

  • 하드웨어 및 소프트웨어 요구 사항: SQL Server를 설치하기 위한 하드웨어 및 소프트웨어 요구 사항을 검토하세요. 이러한 요구 사항은 SQL Server 설치를 위한 하드웨어 및 소프트웨어 요구 사항에서 확인할 수 있습니다. 업그레이드 계획 주기의 일부는 하드웨어 업그레이드(최신 하드웨어는 더 빠르며 프로세서 수가 더 적거나 데이터베이스 및 서버 통합으로 인해 라이선스를 줄일 수 있음) 및 운영 체제 업그레이드를 고려하는 것입니다. 이러한 유형의 하드웨어 및 소프트웨어 변경 내용은 선택한 업그레이드 방법의 유형에 영향을 미칩니다.

  • 현재 환경: 현재 환경을 조사하여 사용 중인 SQL Server 구성 요소와 환경에 연결하는 클라이언트를 파악합니다.

    • 클라이언트 공급자: 업그레이드할 때 각 클라이언트의 공급자를 업데이트할 필요는 없지만 업데이트하도록 선택할 수 있습니다. SQL Server 2014(12.x) 이전 버전에서 업그레이드하는 경우 다음 SQL Server 2016(13.x) 기능을 사용하려면 각 클라이언트에 대해 업데이트된 공급자 또는 추가 기능을 제공하기 위해 업데이트된 공급자가 필요합니다.

    • Always Encrypted(데이터베이스 엔진)

    • Stretch Database

      중요

      확대 데이터베이스는 SQL Server 2022(16.x) 및 Azure SQL 데이터베이스에서 더 이상 사용되지 않습니다. 이 기능은 이후 데이터베이스 엔진 버전에서 제거될 예정입니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요.

    • 가용성 그룹 수신기, 클라이언트 연결 및 애플리케이션 장애 조치(failover)(SQL Server)

    • TLS 보안 업데이트

  • 타사 구성 요소: 통합된 백업 등과 같은 타사 구성 요소의 호환성을 확인합니다.

  • 대상 환경: 대상 환경이 하드웨어 및 소프트웨어 요구 사항을 충족하는지, 그리고 원래 시스템의 요구 사항을 지원할 수 있는지 확인합니다. 예를 들어 업그레이드에는 여러 SQL Server 인스턴스를 하나의 새 SQL Server 인스턴스로 통합하거나 SQL Server 환경을 프라이빗 또는 퍼블릭 클라우드로 시각화하는 작업이 포함될 수 있습니다.

  • 버전: 업그레이드에 적절한 SQL Server 버전을 결정하고 업그레이드에 유효한 업그레이드 경로를 결정합니다. 자세한 내용은 지원되는 버전 및 에디션 업그레이드를 참조하세요. 한 SQL Server 버전에서 다른 버전으로 업그레이드하기 전에 현재 사용 중인 기능이 업그레이드할 버전에서 지원되는지 확인하세요.

    참고 항목

    이전 버전의 SQL Server Enterprise Edition에서 SQL Server를 업그레이드하는 경우 Enterprise Edition: 코어 기반 라이선스 및 Enterprise Edition 중에서 선택합니다. 이러한 엔터프라이즈 버전은 라이선스 모드와 관련해서만 다릅니다. 자세한 내용은 Compute Capacity Limits by Edition of SQL Server를 참조하세요.

  • 이전 버전과의 호환성: SQL Server 데이터베이스 엔진의 이전 버전과의 호환성 문서를 검토하여 업그레이드 중인 SQL Server 및 SQL Server 버전 간의 동작 변화를 검토합니다. SQL Server 데이터베이스 엔진의 이전 버전과의 호환성을 참조하세요.

  • Data Migration Assistant: Data Migration Assistant를 실행하여 업그레이드 프로세스를 방해하거나 호환성이 손상되는 변경으로 인해 기존 스크립트 또는 애플리케이션의 수정이 필요할 수 있는 문제를 진단하는 데 도움을 받을 수 있습니다.

    여기에서 Data Migration Assistant를 다운로드할 수 있습니다.

  • 시스템 구성 검사기: 업그레이드를 예약하기 전에 SCC(시스템 구성 검사기)를 실행하여 SQL Server 설치 프로그램이 차단 문제를 감지하는지 확인합니다. 자세한 내용은 시스템 구성 검사기의 검사 매개 변수를 참조하세요.

  • 메모리 최적화 테이블 업그레이드: 메모리 최적화 테이블을 포함하는 SQL Server 2014 데이터베이스 인스턴스를 SQL Server 2016으로 업그레이드하는 경우 업그레이드 프로세스에서 메모리 최적화 테이블을 새 디스크 내 형식으로 변환하는 데 추가 시간이 필요하며 이러한 단계가 진행되는 동안 데이터베이스는 오프라인 상태입니다. 시간의 양은 메모리 최적화 테이블의 크기 및 I/O 하위 시스템의 속도에 따라 달라집니다. 업그레이드에는 현재 위치 및 새 설치 업그레이드를 위해 세 가지 크기의 데이터 작업이 필요합니다(롤링 업그레이드에는 1단계가 필요하지 않지만 2단계와 3단계가 필요합니다.)

    1. 기존 온디스크 형식을 사용하여 데이터베이스 복구 실행(메모리 최적화 테이블을 디스크에서 메모리로 로드하는 작업이 포함됨)

    2. 데이터를 디스크에 새 온디스크 형식으로 직렬화

    3. 새로운 형식을 사용하여 데이터베이스 복구 실행(메모리 최적화 테이블을 디스크에서 메모리로 로드하는 작업이 포함됨)

      또한 이 과정 중에 디스크의 공간이 부족하면 복구가 실패합니다. 현재 위치 업그레이드를 수행하거나 SQL Server 2014 데이터베이스를 SQL Server 2016 인스턴스에 연결할 때 디스크에 기존 데이터베이스를 저장할 충분한 공간과 데이터베이스의 MEMORY_OPTIMIZED_DATA 파일 그룹에 있는 컨테이너의 현재 크기와 동일한 추가 스토리지가 있는지 확인합니다. 다음 쿼리를 사용하여 현재 MEMORY_OPTIMIZED_DATA 파일 그룹에 필요한 디스크 공간과 업그레이드 성공에 필요한 사용 가능한 여유 디스크 공간을 확인합니다.

    SELECT CAST(SUM(size) AS FLOAT) * 8 / 1024 / 1024 AS [size in GB]
    FROM sys.database_files
    WHERE data_space_id IN
    (
        SELECT data_space_id
        FROM sys.filegroups
        WHERE type = N'FX'
    );
    

업그레이드 계획 개발 및 테스트

가장 좋은 방법은 모든 IT 프로젝트와 마찬가지로 업그레이드를 처리하는 것입니다. 데이터베이스 관리, 네트워크, 추출, 변환 및 로드(ETL), 그리고 업그레이드에 필요한 다른 기술을 가진 업그레이드 팀을 구성합니다. 팀에는 다음이 필요합니다.

  • 업그레이드 방법 선택:데이터베이스 엔진 업그레이드 방법 선택을 참조하세요.

  • 롤백 계획 개발: 이 계획을 실행하면 롤백이 필요한 경우 원래 환경을 복원할 수 있습니다.

  • 승인 기준 결정: 사용자를 업그레이드된 환경으로 전환하기 전에 업그레이드가 성공했는지를 확인합니다.

  • 업그레이드 계획 테스트: 실제 워크로드를 사용하여 성능을 테스트하려면 Microsoft SQL Server Distributed Replay 유틸리티를 사용합니다. 이 유틸리티는 여러 컴퓨터를 사용해 추적 데이터를 재생하여 중요 업무용 워크로드를 시뮬레이션할 수 있습니다. SQL Server 업그레이드 전후에 테스트 서버에서 재생을 수행하면 성능 차이를 측정하고 애플리케이션이 업그레이드와 호환되지 않는 점을 확인할 수 있습니다. 자세한 내용은 SQL Server Distributed Replay관리 도구 명령줄 옵션(Distributed Replay Utility)을 참조하세요.

다음 단계