마이그레이션 가이드: SQL Server에서 Azure Virtual Machines의 SQL Server로

적용 대상:Azure VM의 SQL Server

이 가이드에서는 요구 사항에 따라 기술 및 도구를 사용하여 SQL Server의 사용자 데이터베이스를 검색, 평가하고 Azure Virtual Machines의 SQL Server 인스턴스로 마이그레이션하는 방법을 알아봅니다.

온-프레미스 또는 다음에서 실행 중인 SQL Server를 마이그레이션할 수 있습니다.

  • VM(Virtual Machines)의 SQL Server.
  • AWS(Amazon Web Services) EC2.
  • AWS RDS(Amazon Relational Database Service).
  • 컴퓨팅 엔진(Google Cloud Platform [GCP]).

추가 마이그레이션 전략에 대한 정보는 SQL Server VM 마이그레이션 개요를 참조하세요. 다른 마이그레이션 가이드는 Azure 데이터베이스 마이그레이션 가이드를 참조하세요.

Diagram that shows a migration process flow.

필수 조건

Azure Virtual Machines에서 SQL Server로 마이그레이션하려면 다음 리소스가 필요합니다.

사전 마이그레이션

마이그레이션을 시작하기 전에 SQL 환경의 토폴로지를 검색하고 의도한 마이그레이션의 실행 가능성을 평가해야 합니다.

검색

Azure Migrate는 온-프레미스 컴퓨터의 마이그레이션 적합성을 평가하고, 성능 기반 크기 조정을 수행하고, 온-프레미스에서 실행하는 비용 예상을 제공합니다. 마이그레이션을 계획하려면 Azure Migrate를 사용하여 SQL Server 인스턴스가 사용하는 기존 데이터 원본 및 기능에 대한 세부 정보를 식별합니다. 이 프로세스에는 사용 중인 버전 및 기능과 함께 조직의 모든 SQL Server 인스턴스를 식별하기 위해 네트워크를 검색하는 작업이 포함됩니다.

중요

SQL Server 인스턴스에 대한 대상 Azure 가상 머신을 선택할 때 Azure Virtual Machines의 SQL Server에 대한 성능 지침을 고려해야 합니다.

더 많은 검색 도구는 데이터 마이그레이션 시나리오에 사용할 수 있는 서비스 및 도구를 참조하세요.

평가

SQL Server 온-프레미스에서 Azure Virtual Machines의 SQL Server로 마이그레이션할 때 원본 및 대상 SQL Server 버전이 동일한 경우 호환성 또는 기능 패리티 문제가 발생할 가능성은 거의 없습니다. SQL Server 버전을 업그레이드하지 않는 경우 이 단계를 건너뛰고 마이그레이션 섹션으로 이동합니다.

마이그레이션하기 전에 SQL Server 데이터베이스에 대한 평가를 실행하여 마이그레이션 블로커(있는 경우)를 식별하는 것이 좋으며 Azure Data Studio용 Azure SQL 마이그레이션 확장이 마이그레이션 전에 이런 작업을 수행합니다.

참고

VMware에서 전체 SQL Server 데이터 자산을 대규모로 평가하는 경우 Azure Migrate를 사용하여 Azure SQL 배포 권장 사항, 대상 크기 조정 및 월별 추정치를 가져옵니다.

사용자 데이터베이스 액세스

Azure Data Studio용 Azure SQL 마이그레이션 확장은 평가하고, Azure 권장 사항을 받기, 온-프레미스 SQL Server 데이터베이스를 Azure Virtual Machines의 SQL Server로 마이그레이션할 수 있는 원활한 마법사 기반 환경을 제공합니다. 또한 마이그레이션 차단 또는 경고를 강조 표시하는 이 확장 프로그램에는 워크로드의 성능 요구 사항을 충족하도록 Azure Virtual Machines에서 적절한 크기의 SQL Server를 권장하기 위해 데이터베이스의 성능 데이터를 수집하는 Azure 권장 사항 옵션도 포함되어 있습니다(최소 가격으로).

Azure 권장 사항에 대한 자세한 내용은 온-프레미스 SQL Server 데이터베이스에 적합한 크기의 Azure 권장 사항 받기를 참조하세요.

중요

Azure SQL 마이그레이션 확장을 사용하여 데이터베이스를 평가하려면 원본 SQL Server를 연결하는 데 사용되는 로그인이 sysadmin 서버 역할의 멤버이거나 CONTROL SERVER 권한이 있어야 합니다.

버전 업그레이드의 경우 더 높은 버전의 Azure Virtual Machines에서 SQL Server 인스턴스로 업그레이드한다면 Data Migration Assistant를 사용하여 온-프레미스 SQL Server 인스턴스를 평가하여 원본 버전과 대상 버전 간의 차이를 파악합니다.

애플리케이션 평가

일반적으로 애플리케이션 계층은 데이터를 유지하고 수정하기 위해 사용자 데이터베이스에 액세스합니다. Data Migration Assistant는 다음 두 가지 방법으로 애플리케이션의 데이터 액세스 계층을 평가할 수 있습니다.

  • 캡처된 확장 이벤트 또는 사용자 데이터베이스의 SQL Server Profiler 추적을 사용하여 평가합니다. 또한 데이터베이스 실험 도우미를 사용하여 A/B 테스트에도 사용할 수 있는 추적 로그를 만들 수 있습니다.
  • 코드 내에서 SQL 쿼리의 검색 및 평가를 제공하고 한 데이터베이스 플랫폼에서 다른 데이터베이스 플랫폼으로 애플리케이션 소스 코드를 마이그레이션하는 데 사용되는 Data Access Migration Toolkit(미리 보기)을 사용하여 평가합니다. 이 도구는 C#, Java, XML 및 일반 텍스트와 같이 널리 사용되는 파일 형식을 지원합니다. Data Access Migration Toolkit 평가를 수행하는 방법에 대한 지침은 Data Migration Assistant 사용 블로그 게시물을 참조하세요.

사용자 데이터베이스를 평가하는 동안 Data Migration Assistant를 사용하여 캡처된 추적 파일 또는 Data Access Migration Toolkit 파일을 가져옵니다.

대규모 평가

Azure 준비 상태 평가가 필요한 서버가 여러 개 있는 경우 다음 옵션 중 하나를 사용하여 스크립트를 사용하여 프로세스를 자동화할 수 있습니다. 스크립팅 사용에 대한 자세한 내용은 자동화를 사용하여 대규모로 데이터베이스 마이그레이션을 참조하세요.

대규모 자산에 대한 요약 보고를 위해 Data Migration Assistant 평가를 Azure Migrate로 통합할 수도 있습니다.

Data Migration Assistant를 사용하여 데이터베이스 업그레이드

업그레이드 시나리오의 경우 업그레이드 후 사용자 데이터베이스가 올바르게 작동하고 성능을 내는지 확인하기 위한 일련의 권장 사항이 있을 수 있습니다. Data Migration Assistant는 영향을 받는 개체와 각 문제를 해결하는 방법에 대한 리소스에 대한 세부 정보를 제공합니다. 프로덕션 업그레이드를 시작하기 전에 모든 주요 변경 사항 및 동작 변경 사항을 해결해야 합니다.

더 이상 사용되지 않는 기능의 경우 이러한 변경을 방지하고 마이그레이션 속도를 높이려면 원래 호환성 모드에서 사용자 데이터베이스를 실행하도록 선택할 수 있습니다. 이 작업은 더 이상 사용되지 않는 항목이 해결될 때까지 데이터베이스 호환성 업그레이드를 방지합니다.

주의

모든 SQL Server 버전이 모든 호환성 모드를 지원하는 것은 아닙니다. 대상 SQL Server 버전이 선택한 데이터베이스 호환성을 지원하는지 확인합니다. 예를 들어 SQL Server 2019는 호환성 수준이 90인 데이터베이스(SQL Server 2005)를 지원하지 않습니다. 이러한 데이터베이스는 적어도 호환성 수준 100으로 업그레이드해야 합니다.

Migrate

마이그레이션 전 단계를 완료하면 사용자 데이터베이스 및 구성 요소를 마이그레이션할 준비가 된 것입니다. 선호하는 마이그레이션 방법을 사용하여 데이터베이스를 마이그레이션합니다.

다음 섹션에서는 기본 설정 순서대로 마이그레이션을 수행하는 옵션을 제공합니다.

Azure Data Studio용 Azure SQL 마이그레이션 확장을 사용하여 마이그레이션(가동 중지 시간 최소화)

Azure Data Studio를 사용하여 최소 가동 중지 마이그레이션을 수행하려면 아래의 상위 단계를 수행합니다. 자세한 단계별 자습서는 Azure Data Studio를 사용하여 온라인에서 Azure Virtual Machine의 SQL Server로 SQL Server 마이그레이션을 참조하세요.

  1. Azure Data StudioAzure SQL 마이그레이션 확장을 다운로드하여 설치합니다.
  2. Azure Data Studio의 확장에서 Azure SQL로 마이그레이션 마법사를 시작합니다.
  3. 평가할 데이터베이스를 선택하고 마이그레이션 준비 상태 또는 문제(있는 경우)를 확인합니다. 또한 성능 데이터를 수집하고 적절한 크기의 Azure 권장 사항을 가져옵니다.
  4. 구독에서 Azure 계정 및 Azure Machine의 대상 SQL Server를 선택합니다.
  5. 데이터베이스 백업의 위치를 선택합니다. 데이터베이스 백업은 온-프레미스 네트워크 공유 또는 Azure Blob Storage 컨테이너에 있습니다.
  6. Azure Data Studio의 마법사를 사용하여 새 Azure Database Migration Service를 만듭니다. 이전에 Azure Data Studio를 사용하여 Azure Database Migration Service를 만든 경우 원한다면 동일한 것을 다시 사용할 수 있습니다.
  7. 선택 사항: 백업이 온-프레미스 네트워크 공유에 있는 경우 원본 SQL Server 및 백업 파일이 포함된 위치에 연결할 수 있는 컴퓨터에 자체 호스팅 통합 런타임을 다운로드하여 설치합니다.
  8. 데이터베이스 마이그레이션을 시작하고 Azure Data Studio에서 진행률을 모니터링합니다. Azure Portal의 Azure Database Migration Service 리소스에서 진행률을 모니터링할 수도 있습니다.
  9. 컷오버를 완료합니다.
    1. 원본 데이터베이스로 들어오는 모든 트랜잭션을 중지합니다.
    2. Azure Virtual Machine의 SQL Server에서 대상 데이터베이스를 가리키도록 애플리케이션 구성을 변경합니다.
    3. 지정된 백업 위치에 있는 원본 데이터베이스의 모든 비상 로그 백업을 가져옵니다.
    4. 모니터링 세부 정보 페이지에서 모든 데이터베이스 백업의 상태가 ‘복원됨’인지 확인합니다.
    5. 모니터링 세부 정보 페이지에서 ‘중단 완료’를 선택합니다.

백업 및 복원

백업 및 복원을 사용하여 표준 마이그레이션을 수행하려면 다음을 수행합니다.

  1. 요구 사항에 따라 Azure Virtual Machines에서 SQL Server에 대한 연결을 설정합니다. 자세한 내용은 Azure(Resource Manager)에서 SQL Server Virtual Machine에 연결을 참조하세요.
  2. 마이그레이션용 데이터베이스를 사용하는 모든 애플리케이션을 일시 중지하거나 중지합니다.
  3. 단일 사용자 모드를 사용하여 사용자 데이터베이스가 비활성 상태인지 확인합니다.
  4. 온-프레미스 위치에 전체 데이터베이스 백업을 수행합니다.
  5. 원격 데스크톱, Azure Data Explorer 또는 AZCopy 명령줄 유틸리티를 사용하여 온-프레미스 백업 파일을 VM에 복사합니다. (2TB 이상의 백업이 권장됩니다.)
  6. Azure Virtual Machines의 SQL Server에 전체 데이터베이스 백업을 복원합니다.

URL에서 분리 및 연결

데이터베이스 및 로그 파일을 분리하고 Azure Blob Storage로 전송합니다. 그런 다음 Azure VM의 URL에서 데이터베이스를 연결합니다. 물리적 데이터베이스 파일이 Blob Storage에 상주하도록 하려면 이 방법을 사용합니다. 이는 매우 큰 데이터베이스에 유용할 수 있습니다. 수동 메서드를 사용하여 사용자 데이터베이스를 마이그레이션하려면 다음과 같은 일반적인 단계를 사용합니다.

  1. 온-프레미스 데이터베이스 인스턴스에서 데이터베이스 파일을 분리합니다.
  2. AZCopy 명령줄 유틸리티를 사용하여 분리된 데이터베이스를 Azure Blob 스토리지에 복사
  3. Azure URL의 데이터베이스 파일을 Azure VM에서 SQL Server 인스턴스로 연결합니다.

VM으로 변환하고, URL에 업로드하고, 새 VM으로 배포

이 방법을 사용하여 온-프레미스 SQL Server 인스턴스의 모든 시스템과 사용자 데이터베이스를 Azure 가상 머신으로 마이그레이션합니다. 수동 메서드를 사용하여 전체 SQL Server 인스턴스를 마이그레이션하려면 다음과 같은 일반적인 단계를 사용합니다.

  1. 물리적 또는 가상 머신을 Hyper-V VHD로 변환합니다.
  2. Add-AzureVHD cmdlet을 사용하여 VHD 파일을 Azure Storage에 업로드합니다.
  3. 업로드된 VHD를 사용하여 새 가상 머신을 배포합니다.

참고

전체 애플리케이션을 마이그레이션하려면 Azure Site Recovery 사용을 고려합니다.

로그 전달

로그 전달은 온-프레미스의 트랜잭션 로그 파일을 Azure VM의 SQL Server 인스턴스로 복제합니다. 이 옵션은 장애 조치(failover) 중 가동 중지 시간을 최소화하고 Always On 가용성 그룹을 설정하는 것보다 구성 오버헤드가 적습니다.

자세한 내용은 로그 전달 테이블 및 저장 프로시저를 참조하세요.

하드 드라이브 운송

네트워크를 통한 업로드가 매우 비싸거나 실행 불가능한 상황에서 Windows 가져오기 / 내보내기 서비스 방법을 사용하여 대량의 파일 데이터를 Azure Blob 스토리지로 전송합니다. 이 서비스를 사용하여 해당 데이터가 포함된 하나 이상의 하드 드라이브를 Azure 데이터 센터로 보내서 데이터를 스토리지 계정으로 업로드할 수 있습니다.

사용자 데이터베이스 외부에 있는 개체 마이그레이션

마이그레이션 후 사용자 데이터베이스의 원활한 작업을 위해 더 많은 SQL Server 개체가 필요할 수 있습니다.

다음 표는 사용자 데이터베이스 마이그레이션 전후에 완료할 수 있는 구성 요소 및 권장 마이그레이션 방법의 목록을 제공합니다.

기능 구성 요소 마이그레이션 방법
데이터베이스 모델 SQL Server Management Studio로 스크립트.
tempdb 데이터베이스 최상의 성능을 위해 tempdbAzure VM 임시 디스크(SSD))로 이동하도록 계획합니다. tempdb를 수용하기에 충분한 로컬 SSD가 있는 VM 크기를 선택해야 합니다.
FileStream이 있는 사용자 데이터베이스 마이그레이션에 대한 백업 및 복원 방법을 사용합니다. Data Migration Assistant는 FileStream이 있는 데이터베이스를 지원하지 않습니다.
보안 SQL Server 및 Windows 로그인 Data Migration Assistant를 사용하여 사용자 로그인을 마이그레이션합니다.
SQL Server 역할 SQL Server Management Studio로 스크립트.
암호화 공급자 Azure Key Vault를 사용하도록 전환하는 것이 좋습니다. 이 절차는 SQL VM 리소스 공급자를 사용합니다.
서버 개체 백업 디바이스 Azure Backup을 사용하여 데이터베이스 백업으로 바꾸거나 Azure Storage(SQL Server 2012 SP1 CU2 +)에 백업을 작성합니다. 이 절차는 SQL VM 리소스 공급자를 사용합니다.
연결된 서버 SQL Server Management Studio로 스크립트.
서버 트리거 SQL Server Management Studio로 스크립트.
복제 로컬 게시 SQL Server Management Studio로 스크립트.
로컬 구독자 SQL Server Management Studio로 스크립트.
PolyBase PolyBase SQL Server Management Studio로 스크립트.
관리 데이터베이스 메일 SQL Server Management Studio로 스크립트.
SQL Server 에이전트 작업 SQL Server Management Studio로 스크립트.
경고 SQL Server Management Studio로 스크립트.
연산자 SQL Server Management Studio로 스크립트.
프록시 SQL Server Management Studio로 스크립트.
운영 체제 파일, 파일 공유 SQL 서버에서 사용되고 Azure Virtual Machines 대상에서 복제하는 다른 파일 또는 파일 공유를 기록합니다.

마이그레이션 후 작업

마이그레이션 단계를 성공적으로 완료한 후 모든 것이 최대한 원활하고 효율적으로 작동하게 하려면 일련의 마이그레이션 후 작업을 완료해야 합니다.

애플리케이션 수정

데이터가 대상 환경으로 마이그레이션된 후 이전에 원본을 사용한 모든 애플리케이션이 대상 사용을 시작해야 합니다. 이 작업을 수행하려면 경우에 따라 애플리케이션을 변경해야 할 수도 있습니다.

Data Migration Assistant에서 권장하는 모든 수정 사항을 사용자 데이터베이스에 적용합니다. 일관성을 보장하고 자동화를 허용하려면 이러한 수정 사항을 스크립팅해야 합니다.

테스트 수행

데이터베이스 마이그레이션의 테스트 접근 방식은 다음 작업으로 구성됩니다.

  1. 유효성 검사 테스트 개발: 데이터베이스 마이그레이션을 테스트하려면 SQL 쿼리를 사용해야 합니다. 원본 데이터베이스와 대상 데이터베이스 둘 다에서 실행할 유효성 검사 쿼리를 만듭니다. 유효성 검사 쿼리는 정의한 범위를 포함해야 합니다.
  2. 테스트 환경 설정: 테스트 환경에는 원본 데이터베이스와 대상 데이터베이스의 복사본이 포함되어야 합니다. 테스트 환경을 격리해야 합니다.
  3. 유효성 검사 테스트 실행: 원본 및 대상에서 유효성 검사 테스트를 실행한 다음, 결과를 분석합니다.
  4. 성능 테스트 실행: 원본 및 대상에서 성능 테스트를 실행한 다음, 결과를 분석하고 비교합니다.

데이터베이스 실험 도우미를 사용하여 대상 SQL 서버 성능을 평가합니다.

최적화

마이그레이션 후 단계는 데이터 정확도 문제를 조정하고 완성도를 확인할 뿐만 아니라 워크로드 관련 잠재적 성능 문제를 해결하는 데 매우 중요합니다.

이러한 문제 및 이를 완화하는 단계에 대한 자세한 내용은 다음을 참조하세요.

다음 단계

SQL Server에 적용되는 서비스의 가용성을 확인하려면 Azure 글로벌 인프라 센터를 참조하세요.

다양한 데이터베이스 및 데이터 마이그레이션 시나리오와 특수 작업을 지원하는 데 사용할 수 있는 Microsoft와 타사의 서비스 및 도구 표는 데이터 마이그레이션 서비스 및 도구를 참조하세요.

Azure SQL에 관한 자세한 내용은 다음을 참조하세요.

클라우드 마이그레이션의 프레임워크 및 채택 주기에 대해 자세히 알아보려면 다음을 참조하세요.

라이선스에 관한 자세한 내용은 다음을 참조하세요.

애플리케이션 액세스 레이어를 평가하려면 Data Access Migration Toolkit(미리 보기)를 참조하세요.

데이터 액세스 계층에 대한 A/B 테스트를 수행하는 방법에 대한 자세한 내용은 데이터베이스 실험 도우미 개요를 참조하세요.