다음을 통해 공유


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

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

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

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

  • 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 이상입니다.

  • Database Migration Service를 처음 사용하는 경우 Microsoft.DataMigration 리소스 공급자가 구독에 등록되어 있는지 확인하세요.

참고 항목

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

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

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

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

  1. Azure Data Studio에서 연결로 이동합니다. SQL Server의 온-프레미스 인스턴스를 선택하고 연결합니다. Azure 가상 머신의 SQL Server에 연결해도 됩니다.

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

    Azure Data Studio의 서버 연결 및 관리 옵션을 보여 주는 스크린샷입니다.

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

    Azure Data Studio 서버 메뉴를 보여 주는 스크린샷입니다.

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

    Azure SQL로 마이그레이션 마법사를 여는 방법을 보여 주는 스크린샷입니다.

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

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

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

    평가에 대한 데이터베이스 선택을 보여 주는 스크린샷입니다.

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

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

      Azure SQL Database 대상 선택을 보여 주는 스크린샷입니다.

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

      평가 결과 보기/선택을 보여 주는 스크린샷입니다.

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

      평가 보고서를 보여 주는 스크린샷입니다.

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

      Azure 권장 사항을 보여 주는 스크린샷입니다.

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

      성능 데이터 컬렉션을 보여 주는 스크린샷입니다.

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

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

      수집된 성능 데이터를 보여 주는 스크린샷입니다.

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

      대상 데이터베이스 권장 사항에 대한 세부 정보 보기 링크를 보여 주는 스크린샷입니다.

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

      SKU 권장 사항 세부 정보를 보여 주는 스크린샷입니다.

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

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

마이그레이션 설정 구성

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

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

      Azure 계정 세부 정보를 보여 주는 스크린샷입니다.

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

      Azure SQL Database 세부 정보를 보여 주는 스크린샷입니다.

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

      원본 및 대상 매핑을 보여 주는 스크린샷입니다.

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

    오프라인 마이그레이션 선택 영역을 보여 주는 스크린샷입니다.

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

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

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

      원본 SQL Server 자격 증명을 보여 주는 스크린샷입니다.

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

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

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

      테이블 선택 영역을 보여 주는 스크린샷입니다.

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

    마이그레이션하기 위해 선택한 테이블을 보여 주는 스크린샷입니다.

참고 항목

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

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

Database Migration Service 인스턴스 만들기

6단계: Azure Database Migration Service에서는 [Azure SQL로 마이그레이션] 마법사에서 새 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. 다음을 선택합니다.

    Database Migration Service 선택 영역을 보여 주는 스크린샷입니다.

새 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 인스턴스에 연결하기 위한 필수 조건을 충족하는 컴퓨터에 설치합니다.

      통합 런타임 다운로드, 설치 및 등록 위치 링크를 보여주는 스크린샷입니다.

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

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

      마법사에서 인증 키 테이블을 강조 표시하는 스크린샷입니다.

      인증 키가 유효하면 Integration Runtime Configuration Manager에 녹색 체크 아이콘이 표시됩니다. 녹색 체크 아이콘은 등록을 계속해도 좋다는 뜻입니다.

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

      참고 항목

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

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

    IR 연결 테스트를 보여 주는 스크린샷입니다.

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

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

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

마이그레이션을 시작하는 방법을 보여 주는 스크린샷입니다.

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

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

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

    마이그레이션 대시보드 모니터링을 보여 주는 스크린샷입니다.

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

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

    데이터베이스 마이그레이션 세부 정보를 보여 주는 스크린샷입니다.

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

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

    다음은 상태가 만들기AdventureWorks2022 데이터베이스 마이그레이션의 예입니다.

    마이그레이션 만들기 상태를 보여 주는 스크린샷입니다.

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

    마이그레이션 상태가 새로 고쳐진 후 예 AdventureWorks2022 데이터베이스 마이그레이션의 업데이트된 상태는 진행 중입니다.

    마이그레이션 만들기 상태를 보여 주는 스크린샷입니다.

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

    테이블 마이그레이션 모니터링을 보여 주는 스크린샷입니다.

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

    성공한 마이그레이션을 보여 주는 스크린샷입니다.

참고 항목

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

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

Important

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

제한 사항

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

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