자습서: SQL Server를 Azure SQL Database로 마이그레이션(오프라인)

Azure Data Studio용 Azure SQL 마이그레이션 확장 또는 Azure Portal을 통해 Azure Database Migration Service를 사용하여 SQL Server의 온-프레미스 인스턴스에서 Azure SQL Database(오프라인)로 데이터베이스를 마이그레이션할 수 있습니다.

이 자습서에서는 Database Migration Service를 사용하여 SQL Server의 온-프레미스 인스턴스에서 Azure SQL Database 인스턴스로 샘플 AdventureWorks2019 데이터베이스를 마이그레이션하는 방법을 알아봅니다. 이 자습서에서는 마이그레이션 프로세스 중에 허용되는 가동 중지 시간을 고려하는 오프라인 마이그레이션 모드를 사용합니다.

이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.

  • Azure Data Studio에서 Azure SQL로 마이그레이션 마법사 열기
  • 원본 SQL Server 데이터베이스에 대한 평가 실행
  • 원본 SQL Server 인스턴스에서 성능 데이터 수집
  • 워크로드에 가장 적합한 Azure SQL Database SKU 권장 사항 가져오기
  • Azure Database Migration Service 인스턴스 만들기
  • 마이그레이션 시작 및 완료 진행률 모니터링

Azure Database Migration Service에서 데이터베이스를 오프라인으로 또는 온라인 상태에서 마이그레이션할 수 있습니다. 오프라인 마이그레이션의 경우 마이그레이션을 시작할 때부터 애플리케이션 가동 중지 시간이 시작됩니다. 가동 중지 시간을 마이그레이션 후 새 환경으로 전환하는 데 걸리는 시간으로 제한하려면 온라인 마이그레이션을 사용합니다. 가동 중지 시간이 허용 가능한지 확인하기 위해 오프라인 마이그레이션을 테스트하는 것이 좋습니다. 예상 가동 중지 시간이 허용되지 않는 경우 온라인 마이그레이션을 수행합니다.

Important

현재 Azure SQL Database 대상에 대한 온라인 마이그레이션은 사용할 수 없습니다.

마이그레이션 옵션

다음 섹션에서는 Azure SQL Migration 확장 또는 Azure Portal에서 Azure Database Migration Service를 사용하는 방법을 설명합니다.

필수 조건

자습서를 시작하기 전에 다음을 수행합니다.

  • Azure Data Studio를 다운로드 및 설치합니다.

  • Azure Data Studio Marketplace에서 Azure SQL 마이그레이션 확장을 설치합니다.

  • 다음 기본 제공 역할 중 하나에 할당된 Azure 계정이 있습니다.

    • Azure SQL Database의 대상 인스턴스에 대한 기여자
    • Azure SQL Database의 대상 인스턴스를 포함하는 Azure 리소스 그룹에 대한 읽기 권한자 역할
    • Azure 구독에 대한 소유자 또는 기여자 역할(Azure Database Migration Service의 새 인스턴스를 만드는 경우 필요)

    이러한 기본 제공 역할 중 하나를 사용하는 대신 사용자 지정 역할을 할당할 수 있습니다.

    Important

    Azure 계정은 마이그레이션 단계를 구성할 때만 필요합니다. 평가 또는 Azure Data Studio의 마이그레이션 마법사에서 Azure 권장 사항을 보려면 Azure 계정이 필요하지 않습니다.

  • Azure SQL Database의 대상 인스턴스를 만듭니다.

  • 원본 SQL Server 인스턴스에 연결하는 SQL Server 로그인이 db_datareader 역할의 구성원이고 대상 SQL Server 인스턴스에 대한 로그인이 db_owner 역할의 구성원인지 확인합니다.

  • Database Migration Service를 사용하여 원본에서 대상 Azure SQL DB로 데이터베이스 스키마를 마이그레이션하려면 지원되는 최소 SHIR 버전은 5.37 이상입니다.

  • 데이터베이스 마이그레이션 서비스를 처음 사용하는 경우 Microsoft.DataMigration 리소스 공급자가 구독에 등록되어 있는지 확인합니다.

참고 항목

이제 Database Migration Service를 사용하여 데이터베이스 스키마와 데이터를 모두 마이그레이션할 수 있습니다. 또한 마이그레이션할 테이블 목록을 선택하기 전에 Azure Data Studio의 SQL Server dacpac 확장 또는 SQL Database Projects 확장과 같은 도구를 사용하여 스키마를 마이그레이션할 수 있습니다.

Azure SQL Database 대상에 테이블이 없거나 마이그레이션 을 시작하기 전에 테이블이 선택되지 않은 경우 마이그레이션 작업을 시작하기 위해 다음 단추를 선택할 수 없습니다. 대상에 테이블이 없는 경우 앞으로 이동하려면 스키마 마이그레이션 옵션을 선택해야 합니다.

Azure Data Studio에서 Azure SQL로 마이그레이션 마법사 열기

Azure SQL로 마이그레이션 마법사를 열려면 다음을 수행합니다.

  1. Azure Data Studio에서 커넥트 이동합니다. SQL Server의 온-프레미스 인스턴스를 선택하고 연결합니다. Azure 가상 머신에서 SQL Server에 연결할 수도 있습니다.

  2. 서버 연결을 마우스 오른쪽 단추로 클릭하고 관리를 선택합니다.

    Screenshot that shows a server connection and the Manage option in Azure Data Studio.

  3. 일반 서버 메뉴의 Azure SQL 마이그레이션을 선택합니다.

    Screenshot that shows the Azure Data Studio server menu.

  4. Azure SQL 마이그레이션 대시보드에서 Azure SQL로 마이그레이션을 선택하여 마이그레이션 마법사를 엽니다.

    Screenshot that shows the Migrate to Azure SQL wizard.

  5. 마법사의 첫 번째 페이지에서 새 세션을 시작하거나 이전에 저장된 세션을 다시 시작합니다.

데이터베이스 평가 실행, 성능 데이터 수집 및 Azure 권장 사항 가져오기

  1. 1단계: Azure SQL로 마이그레이션 마법사의 평가를 위한 데이터베이스에서 평가할 데이터베이스를 선택합니다. 그런 후에 다음을 선택합니다.

    Screenshot that shows selecting a database for assessment.

  2. 2단계: 평가 결과 및 권장 사항에서 다음 단계를 완료합니다.

    1. Azure SQL 대상 선택에서 Azure SQL Database를 선택합니다.

      Screenshot that shows selecting the Azure SQL Database target.

    2. 보기/선택을 선택하여 평가 결과를 봅니다.

      Screenshot that shows view/select assessment results.

    3. 평가 결과에서 데이터베이스를 선택한 다음 평가 보고서를 검토하여 문제가 없는지 확인합니다.

      Screenshot that shows the assessment report.

    4. Azure 권장 사항 가져오기를 선택하여 권장 사항 창을 엽니다.

      Screenshot that shows Azure recommendations.

    5. 지금 성능 데이터 수집을 선택합니다. 로컬 컴퓨터에서 성능 로그를 저장할 폴더를 선택한 다음 시작을 선택합니다.

      Screenshot that shows performance data collection.

      Azure Data Studio는 데이터 수집을 중지하거나 Azure Data Studio를 닫을 때까지 성능 데이터를 수집합니다.

      10분 후에 Azure Data Studio는 권장 사항을 Azure SQL Database에서 사용할 수 있음을 나타냅니다. 첫 번째 권장 사항이 생성되면 데이터 수집 다시 시작을 선택하여 데이터 수집 프로세스를 계속하고 SKU 권장 사항을 구체화할 수 있습니다. 확장 평가는 사용 패턴이 시간에 따라 달라지는 경우에 특히 유용합니다.

      Screenshot that shows performance data collected.

    6. 선택한 Azure SQL Database 대상에서 세부 정보 보기를 선택하여 자세한 SKU 권장 사항 보고서를 엽니다.

      Screenshot that shows the View details link for the target database recommendations.

    7. Azure SQL Database 권장 사항 검토에서 권장 사항을 검토합니다. 권장 사항의 복사본을 저장하려면 권장 사항 보고서 저장을 선택합니다.

      Screenshot that shows SKU recommendation details.

  3. 기를 선택하여 권장 사항 창을 닫습니다.

  4. 마법사에서 데이터베이스 마이그레이션을 계속하려면 [다음]을 선택합니다.

마이그레이션 설정 구성

  1. 3단계: Azure SQL로 마이그레이션 마법사의 Azure SQL 대상에서 대상 Azure SQL Database 인스턴스에 대해 다음 단계를 완료합니다.

    1. Azure 계정, Azure 구독, Azure 지역 또는 위치 및 Azure SQL Database 배포가 포함된 리소스 그룹을 선택합니다.

      Screenshot that shows Azure account details.

    2. Azure SQL Database Server의 경우 대상 Azure SQL Database 서버(논리 서버)를 선택합니다. 대상 데이터베이스 배포에 대한 사용자 이름 및 암호를 입력합니다. 그런 다음, 커넥트 선택합니다. 자격 증명을 입력하여 대상 데이터베이스에 대한 연결을 확인합니다.

      Screenshot that shows Azure SQL Database details.

    3. 다음으로 마이그레이션을 위해 원본 데이터베이스와 대상 데이터베이스를 매핑합니다. 대상 데이터베이스의 경우 Azure SQL Database 대상을 선택합니다. 그런 다음 다음을 선택하여 마이그레이션 마법사의 다음 단계로 이동합니다.

      Screenshot that shows source and target mapping.

  2. 4단계: 마이그레이션 모드에서 오프라인 마이그레이션을 선택한 다음, 다음을 선택합니다.

    Screenshot that shows offline migrations selection.

  3. 5단계: 데이터 원본 구성에서 다음 단계를 완료합니다.

    1. 원본 자격 증명에서 원본 SQL Server 자격 증명을 입력합니다.

    2. 선택에서 연필 편집 아이콘을 선택합니다.

      Screenshot that shows source SQL Server credentials.

    3. 데이터베이스 이름>에 대한 <테이블 선택에서 대상으로 마이그레이션할 테이블을 선택합니다. Has 행 열은 대상 테이블에 대상 데이터베이스에 행이 있는지 여부를 나타냅니다. 하나 이상의 테이블을 선택할 수 있습니다. 그런 다음 업데이트를 선택합니다.

      마이그레이션을 시작하기 전에 언제든지 선택한 테이블 목록을 업데이트할 수 있습니다.

      다음 예제에서는 단어가 Employee포함된 테이블을 선택하기 위해 텍스트 필터를 적용합니다. 마이그레이션 요구 사항에 따라 테이블 목록을 선택합니다.

      Screenshot that shows the table selection.

  4. 테이블 선택을 검토한 다음 다음을 선택하여 마이그레이션 마법사의 다음 단계로 이동합니다.

    Screenshot that shows selected tables to migrate.

참고 항목

테이블이 선택되지 않았거나 사용자 이름과 암호를 입력 하지 않은 경우 다음 단추를 선택할 수 없습니다.

이제 Database Migration Service를 사용하여 데이터베이스 스키마와 데이터를 모두 마이그레이션할 수 있습니다. 또한 마이그레이션할 테이블 목록을 선택하기 전에 Azure Data Studio의 SQL Server dacpac 확장 또는 SQL Database Projects 확장과 같은 도구를 사용하여 스키마를 마이그레이션할 수 있습니다.

Database Migration Service 인스턴스 만들기

6단계: Azure SQL로 마이그레이션 마법사의 Azure Database Migration Service, Database Migration Service의 새 인스턴스를 만들거나 이전에 만든 기존 인스턴스를 다시 사용합니다.

참고 항목

이전에 Azure Portal을 사용하여 Database Migration Service 인스턴스를 만든 경우 Azure Data Studio의 마이그레이션 마법사에서 인스턴스를 다시 사용할 수 없습니다. Azure Data Studio를 사용하여 인스턴스를 만든 경우에만 인스턴스를 다시 사용할 수 있습니다.

Database Migration Service의 기존 인스턴스 사용

Database Migration Service의 기존 인스턴스를 사용하려면 다음을 수행합니다.

  1. 리소스 그룹에서 Database Migration Service의 기존 인스턴스가 포함된 리소스 그룹을 선택합니다.

  2. Azure Database Migration Service에서 선택한 리소스 그룹에 있는 Database Migration Service의 기존 인스턴스를 선택합니다.

  3. 다음을 선택합니다.

    Screenshot that shows Database Migration Service selection.

Database Migration Service의 새 인스턴스 만들기

Database Migration Service의 새 인스턴스를 만들려면 다음을 수행합니다.

  1. 리소스 그룹에서 새 리소스 그룹을 만들어 Database Migration Service의 새 인스턴스를 포함합니다.

  2. Azure Database Migration Service에서 새로 만들기를 선택합니다.

  3. Azure Database Migration Service 만들기에서 Database Migration Service 인스턴스의 이름을 입력한 다음 만들기를 선택합니다.

  4. 통합 런타임 설정에서 다음 단계를 완료합니다.

    1. 다운로드 및 설치 통합 런타임 링크를 선택하여 웹 브라우저에서 다운로드 링크를 엽니다. 통합 런타임을 다운로드한 다음 원본 SQL Server 인스턴스에 연결하기 위한 필수 구성 요소를 충족하는 컴퓨터에 설치합니다.

      Screenshot that shows the Download and install integration runtime link.

      설치가 완료되면 Microsoft Integration Runtime Configuration Manager가 자동으로 열리고 등록 프로세스가 시작됩니다.

    2. 인증 키 테이블에서 마법사에 제공된 인증 키 중 하나를 복사하여 Azure Data Studio에 붙여넣습니다.

      Screenshot that highlights the authentication key table in the wizard.

      인증 키가 유효한 경우 Integration Runtime Configuration Manager에 녹색 검사 아이콘이 나타납니다. 녹색 검사 등록계속할 수 있음을 나타냅니다.

      자체 호스팅 통합 런타임을 등록한 후 Microsoft Integration Runtime Configuration Manager를 닫습니다.

      참고 항목

      자체 호스팅 통합 런타임에 대한 자세한 내용은 자체 호스팅 통합 런타임 만들기 및 구성을 참조 하세요.

  5. Azure Data Studio에서 Azure Database Migration Service 만들기에서 테스트 연결을 선택하여 새로 만든 Database Migration Service 인스턴스가 새로 등록된 자체 호스팅 통합 런타임에 연결되어 있는지 확인합니다.

    Screenshot that shows IR connectivity test.

  6. Azure Data Studio에서 마이그레이션 마법사로 돌아갑니다.

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

7단계: Azure SQL로 마이그레이션 마법사의 요약에서 만든 구성을 검토한 다음 마이그레이션 시작을 선택하여 데이터베이스 마이그레이션을 시작합니다.

Screenshot that shows how to start migration.

데이터베이스 마이그레이션 모니터링

  1. Azure Data Studio의 일반 서버 메뉴에서 Azure SQL 마이그레이션을 선택하여 Azure SQL Database 마이그레이션을 위한 대시보드로 이동합니다.

    데이터베이스 마이그레이션 상태에서 진행 중, 완료 및 실패한 마이그레이션(있는 경우)을 추적하거나 모든 데이터베이스 마이그레이션을 볼 수 있습니다.

    Screenshot that shows monitor migration dashboard.

  2. 진행 중인 데이터베이스 마이그레이션을 선택하여 활성 마이그레이션을 확인합니다.

    특정 마이그레이션에 대한 자세한 내용을 보려면 데이터베이스 이름을 선택합니다.

    Screenshot that shows database migration details.

    Database Migration Service는 마이그레이션 상태 새로 고칠 때마다 알려진 최신 마이그레이션 상태 반환합니다. 다음 표에서는 가능한 상태 설명합니다.

    상태 설명
    복사 준비 서비스는 대상 테이블에서 자동 통계, 트리거 및 인덱스를 사용하지 않도록 설정합니다.
    복사 데이터가 원본 데이터베이스에서 대상 데이터베이스로 복사되고 있습니다.
    복사 완료됨 데이터 복사가 완료되었습니다. 서비스는 다른 테이블에서 복사를 완료하여 테이블을 원래 스키마로 반환하는 최종 단계를 시작하기를 기다리고 있습니다.
    인덱스 다시 작성 서비스에서 대상 테이블에서 인덱스를 다시 빌드하고 있습니다.
    성공 모든 데이터가 복사되고 인덱스가 다시 작성됩니다.
  3. 마이그레이션 세부 정보 페이지를 확인하여 각 데이터베이스에 대한 현재 상태 확인합니다.

    상태 만드는 데이터베이스 마이그레이션AdventureWorks2019 예는 다음과 같습니다.

    Screenshot that shows a creating migration status.

  4. 메뉴 모음에서 새로 고침을 선택하여 마이그레이션 상태 업데이트합니다.

    마이그레이션 상태 새로 고친 후 예제 AdventureWorks2019 데이터베이스 마이그레이션에 대한 업데이트된 상태 진행 중입니다.

    Screenshot that shows a migration in progress status.

  5. 데이터베이스 이름을 선택하여 테이블 뷰를 엽니다. 이 보기에는 마이그레이션의 현재 상태, 현재 해당 상태 있는 테이블 수 및 각 테이블의 자세한 상태 표시됩니다.

    Screenshot that shows monitoring table migration.

    모든 테이블 데이터가 Azure SQL Database 대상으로 마이그레이션되면 Database Migration Service는 마이그레이션 상태 진행 중에서 성공으로 업데이트합니다.

    Screenshot that shows succeeded migration.

참고 항목

Database Migration Service는 데이터가 없는 테이블(행 0개)을 건너뛰어 마이그레이션을 최적화합니다. 마이그레이션을 만들 때 테이블을 선택하더라도 데이터가 없는 테이블은 목록에 표시되지 않습니다.

Azure SQL Database로 마이그레이션을 완료했습니다. 모든 것이 원활하고 효율적으로 작동하도록 일련의 마이그레이션 후 작업을 수행하는 것이 좋습니다.

Important

Azure SQL Database의 고급 클라우드 기반 기능을 활용해야 합니다. 이 기능에는 기본 제공 고가용성, 위협 감지, 워크로드 모니터링 및 튜닝이 포함됩니다.

제한 사항

Azure SQL Database 오프라인 마이그레이션은 데이터 이동을 위해 ADF(Azure Data Factory) 파이프라인을 활용하므로 ADF 제한을 준수합니다. 해당 ADF가 생성되고 데이터베이스 마이그레이션 서비스도 생성됩니다. 따라서 팩터리 한도는 서비스당 적용됩니다.

  • SHIR이 설치된 컴퓨터는 마이그레이션을 위한 컴퓨팅 역할을 합니다. 이 컴퓨터가 데이터 복사의 cpu 및 메모리 로드를 처리할 수 있는지 확인합니다. 자세한 내용은 SHIR 권장 사항을 검토 하세요.
  • 데이터베이스 한도당 100,000개 테이블
  • 서비스당 동시 데이터베이스 마이그레이션 10,000회
  • 마이그레이션 속도는 대상 Azure SQL Database SKU 및 자체 호스팅 통합 런타임에 따라 크게 달라집니다.
  • Azure SQL Database 마이그레이션은 시작 작업의 ADF 오버헤드로 인해 테이블 수에 따른 확장 성능이 낮습니다. 데이터베이스에 수천 개의 테이블이 있는 경우 각 테이블의 시작 프로세스는 데이터가 1비트인 한 행으로 구성된 경우에도 몇 초 정도 걸릴 수 있습니다.
  • 현재 이중 바이트 문자가 있는 Azure SQL Database 테이블 이름은 마이그레이션에 지원되지 않습니다. 완화 방법은 마이그레이션 전에 테이블 이름을 바꾸는 것입니다. 마이그레이션에 성공한 후 원래 이름으로 다시 변경할 수 있습니다.
  • 대규모 Blob 열이 있는 테이블은 시간 초과로 인해 마이그레이션하지 못할 수 있습니다.
  • SQL Server가 예약된 데이터베이스 이름은 현재 지원되지 않습니다.
  • 세미콜론을 포함하는 데이터베이스 이름은 현재 지원되지 않습니다.
  • 계산 열은 마이그레이션되지 않습니다.

다음 단계