Azure Data Studio용 Azure SQL 마이그레이션 확장을 사용하여 데이터베이스 마이그레이션

Azure Data Studio용 Azure SQL 마이그레이션 확장에서 통합 환경을 사용하는 방법을 알아봅니다. 데이터베이스 요구 사항을 평가하고, Azure 리소스에 적절한 크기의 SKU 권장 사항을 얻고, SQL Server 데이터베이스를 Azure로 마이그레이션하는 데 도움이 됩니다.

Azure Data Studio용 Azure SQL 마이그레이션 확장은 다음과 같은 주요 이점을 제공합니다.

  • 엔드투엔드 마이그레이션 환경을 위한 반응형 UI입니다. 확장은 마이그레이션 준비 평가 및 SKU 권장 사항(미리 보기)(성능 데이터 기반)으로 시작됩니다.

  • SQL Server 인스턴스를 평가할 수 있는 향상된 평가 메커니즘입니다. 확장은 Azure SQL 대상으로 마이그레이션할 준비가 된 데이터베이스를 식별합니다.

    참고 항목

    Azure SQL 마이그레이션 확장을 사용하여 Windows 또는 Linux에서 실행되는 SQL Server 데이터베이스를 평가할 수 있습니다.

  • SKU 권장 사항 엔진은 온-프레미스의 원본 SQL Server 인스턴스로부터 성능 데이터를 수집한 다음, Azure SQL 대상을 기반으로 적절한 크기의 SKU 권장 사항을 생성합니다.

  • Azure Database Migration Service에서 제공하는 안정적인 Azure 서비스는 데이터 이동 작업을 오케스트레이션하여 원활한 마이그레이션 환경을 제공합니다.

  • 비즈니스 요구 사항에 따라 온라인(최소 가동 중지 시간이 필요한 마이그레이션의 경우) 또는 오프라인(마이그레이션 내내 가동 중지 시간이 지속되는 마이그레이션의 경우)으로 마이그레이션을 실행할 수 있습니다.

  • 자체 호스팅 통합 런타임을 구성해 사용자 고유의 컴퓨팅 리소스를 이용함으로써 온-프레미스 환경에서 원본 SQL Server 인스턴스 백업 파일에 액세스할 수 있습니다.

  • TDE 데이터베이스 및 SQL/Windows 로그인을 Azure SQL로 마이그레이션하기 위한 안전하고 향상된 사용자 환경을 제공합니다.

특정 마이그레이션 시나리오 및 Azure SQL 대상에 대한 자세한 내용은 다음 표의 자습서 목록을 참조하세요.

마이그레이션 시나리오 마이그레이션 모드
SQL Server에서 Azure SQL Managed Instance로 온라인 / 오프라인
Azure 가상 머신에서 SQL Server에서 SQL Server로 온라인 / 오프라인
SQL Server에서 Azure SQL Database로 마이그레이션 오프라인

Important

대상이 Azure SQL Database인 경우 Azure Portal을 통해 Database Migration Service를 사용하여 데이터베이스 스키마와 데이터를 모두 마이그레이션할 수 있습니다. 또한 데이터 마이그레이션을 시작하기 전에 SQL Server dacpac 확장 또는 Azure Data Studio용 SQL Database 프로젝트 확장과 같은 도구를 사용하여 데이터베이스 스키마를 배포할 수 있습니다.

다음 비디오에서는 Azure Data Studio용 Azure SQL 마이그레이션 확장에 추가된 최신 업데이트와 기능을 설명합니다.


Azure Data Studio에 대한 Azure SQL 마이그레이션 확장의 아키텍처

Azure Database Migration Service는 Azure SQL 마이그레이션 확장 아키텍처의 핵심 구성 요소입니다. Database Migration Service는 데이터베이스를 Azure SQL로 마이그레이션하도록 지원하는 안정적인 마이그레이션 오케스트레이터를 제공합니다. Azure Data Studio에서 Azure SQL 마이그레이션 확장을 사용하여 Database Migration Service 인스턴스를 만들거나 기존 인스턴스를 사용할 수 있습니다.

Database Migration Service는 Azure Data Factory의 자체 호스팅 통합 런타임을 사용하여 온-프레미스 네트워크 공유 또는 Azure Storage 계정에서 유효한 백업 파일에 액세스하고 업로드합니다.

마이그레이션 프로세스의 워크플로는 다음 다이어그램에 나와 있습니다.

Diagram that shows the Azure SQL Migration extension architecture.

다음 목록에서는 워크플로의 각 단계를 설명합니다.

(1) 원본 SQL Server: 프라이빗 클라우드에 있는 SQL Server 온-프레미스 인스턴스 또는 퍼블릭 클라우드의 가상 머신에 있는 SQL Server 인스턴스입니다. Windows 또는 Linux의 SQL Server 2008 이상 버전이 지원됩니다.

(2) 대상 Azure SQL: 지원되는 Azure SQL 대상은 Azure Virtual Machines의 Azure SQL Managed Instance, SQL Server(전체 관리 모드에서 SQL IaaS 에이전트 확장으로 등록됨), Azure SQL Database입니다.

(3) 네트워크 파일 공유: 마이그레이션할 데이터베이스에 대한 백업 파일이 저장되는 SMB(서버 메시지 블록) 네트워크 파일 공유입니다. Azure Storage Blob 컨테이너 및 Azure Storage 파일 공유도 지원됩니다.

(4) Azure Data Studio: Azure Data Studio용 Azure SQL 마이그레이션 확장을 다운로드하여 설치합니다.

(5) Azure Database Migration Service: 마이그레이션 파이프라인을 오케스트레이션하여 온-프레미스 환경에서 Azure로 데이터 이동 활동을 수행하는 Azure 서비스입니다. Database Migration Service는 Azure Data Factory 자체 호스팅 통합 런타임과 연결되며 자체 호스팅 통합 런타임을 등록하고 모니터링하는 기능을 제공합니다.

(6) 자체 호스팅 통합 런타임: 원본 SQL Server 인스턴스 및 백업 파일의 위치에 연결할 수 있는 컴퓨터에 자체 호스팅 통합 런타임을 설치합니다. Database Migration Service는 인증 키를 제공하고 자체 호스팅 통합 런타임을 등록합니다.

(7) Azure Storage에 백업 파일 업로드: Database Migration Service는 자체 호스팅 통합 런타임을 사용하여 온-프레미스 백업 위치에서 Azure Storage 계정으로 유효한 백업 파일을 업로드합니다. 데이터 이동 활동 및 파이프라인은 마이그레이션 워크플로에서 자동으로 만들어져 백업 파일을 업로드합니다.

(8) 대상 Azure SQL에서 백업 복원: Database Migration Service는 Azure Storage 계정에서 지원되는 대상 SQL Server 인스턴스로 백업 파일을 복원합니다.

참고 항목

마이그레이션 대상이 Azure SQL Database인 경우 이 마이그레이션에 대한 백업이 필요하지 않습니다. Azure SQL Database로의 데이터베이스 마이그레이션은 데이터베이스의 사전 만들기 및 데이터 이동(Database Migration Service에서 수행)과 관련된 논리적 마이그레이션으로 간주됩니다.

Important

Azure Data Studio용 Azure SQL 마이그레이션 확장은 데이터베이스 백업을 수행하지도 않고, 사용자 대신 데이터베이스 백업을 시작하지도 않습니다. 대신, 서비스는 마이그레이션 시 기존 데이터베이스 백업 파일을 사용합니다.

온라인 마이그레이션 모드를 사용하면 Database Migration Service는 백업 원본 파일을 Azure Storage 계정에 지속적으로 업로드하고 대상에 대한 컷오버의 마지막 단계를 완료할 때까지 대상에 복원합니다.

오프라인 마이그레이션 모드에서 Database Migration Service는 백업 원본 파일을 Azure Storage에 업로드하고 사용자가 컷오버를 수행할 필요 없이 대상에 복원합니다.

필수 조건

다음 섹션에서는 지원되는 각 Azure SQL 대상에 대한 필수 조건을 안내합니다.

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

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

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

    • Azure SQL Managed Instance 대상 인스턴스 및 SMB(서버 메시지 블록) 네트워크 공유에서 데이터베이스 백업 파일을 업로드하는 스토리지 계정에 대한 기여자
    • Azure SQL Managed Instance 또는 Azure Storage 계정의 대상 인스턴스를 포함하는 Azure 리소스 그룹에 대한 읽기 권한자 역할
    • Azure 구독에 대한 소유자 또는 기여자 역할(새 Database Migration Service 인스턴스를 만드는 경우 필요)

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

    Important

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

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

  • 원본 SQL Server 인스턴스를 연결하는 데 사용하는 로그인이 SYSADMIN 서버 역할의 구성원이거나 CONTROL SERVER 권한이 있는지 확인합니다.

  • 전체 데이터베이스 백업 파일과 후속 트랜잭션 로그 백업 파일이 포함된 SMB 네트워크 공유, Azure Storage 계정 파일 공유 또는 Azure Storage 계정 Blob 컨테이너를 제공합니다. Database Migration Service는 데이터베이스 마이그레이션 중에 백업 위치를 사용합니다.

    Important

    • Azure Data Studio용 Azure SQL 마이그레이션 확장은 데이터베이스 백업을 수행하지도 않고, 사용자 대신 데이터베이스 백업을 시작하지도 않습니다. 대신 이 서비스는 마이그레이션 시 기존 데이터베이스 백업 파일을 사용합니다.
    • 데이터베이스 백업 파일이 SMB 네트워크 공유에 제공된 경우 Database Migration Service를 사용하여 데이터베이스 백업 파일을 업로드하고 데이터베이스를 마이그레이션할 수 있도록 Azure Storage 계정을 만듭니다. Database Migration Service 인스턴스를 만드는 동일한 지역에 Azure Storage 계정을 만들어야 합니다.
    • 각 백업은 별도의 백업 파일 또는 여러 백업 파일에 쓸 수 있습니다. 전체 및 트랜잭션 로그와 같은 여러 백업을 단일 백업 미디어에 추가하는 것은 지원되지 않습니다.
    • 압축된 백업을 제공하여 대량 백업 마이그레이션과 관련된 잠재적인 문제 발생 가능성을 줄일 수 있습니다.
  • 원본 SQL Server 인스턴스를 실행하는 서비스 계정에 데이터베이스 백업 파일이 포함된 SMB 네트워크 공유에 대한 읽기 및 쓰기 권한이 있는지 확인합니다.

  • TDE(투명한 데이터 암호화)로 보호된 데이터베이스를 마이그레이션하는 경우 데이터베이스를 복원하기 전에 원본 SQL Server 인스턴스의 인증서를 대상 Managed Instance로 마이그레이션해야 합니다. TDE 사용 데이터베이스 마이그레이션에 대한 자세한 내용은 자습서: Azure Data Studio에서 TDE 사용 데이터베이스(미리 보기)를 Azure SQL로 마이그레이션을 참조하세요.

    데이터베이스에 Always Encrypted에 의해 보호되는 중요한 데이터가 포함된 경우 마이그레이션 프로세스는 Always Encrypted 키를 대상 관리형 인스턴스로 자동으로 마이그레이션합니다.

  • 데이터베이스 백업이 네트워크 파일 공유에 있는 경우 데이터베이스 백업에 액세스하고 마이그레이션하기 위해 자체 호스팅 통합 런타임을 설치할 수 있는 컴퓨터를 제공합니다. 마이그레이션 마법사는 자체 호스팅 통합 런타임을 다운로드하고 설치하기 위한 다운로드 링크와 인증 키를 제공합니다.

    마이그레이션을 준비하기 위해 자체 호스팅 통합 런타임을 설치하는 컴퓨터에 다음 아웃바운드 방화벽 규칙과 도메인 이름이 사용하도록 설정되어 있는지 확인합니다.

    도메인 이름 아웃바운드 포트 설명
    퍼블릭 클라우드: {datafactory}.{region}.datafactory.azure.net
    또는 *.frontend.clouddatahub.net

    Azure Government: {datafactory}.{region}.datafactory.azure.us

    21Vianet에서 운영하는 Microsoft Azure: {datafactory}.{region}.datafactory.azure.cn
    443 자체 호스팅 통합 런타임에서 Database Migration Service에 연결하는 데 필요합니다.

    퍼블릭 클라우드에서 새로 만들어진 Data Factory의 경우 {datafactory}.{region}.datafactory.azure.net 형식인 자체 호스팅 통합 런타임 키에서 FQDN(정규화된 도메인 이름)을 찾습니다.

    기존 Data Factory의 경우 FQDN이 자체 호스팅 통합 키에 표시되지 않으면 *.frontend.clouddatahub.net을 대신 사용합니다.
    download.microsoft.com 443 업데이트를 다운로드하기 위해 자체 호스팅 통합 런타임에서 필요합니다. 자동 업데이트를 사용하지 않도록 설정한 경우 이 도메인 구성을 건너뛸 수 있습니다.
    *.core.windows.net 443 네트워크 공유에서 데이터베이스 백업을 업로드하기 위해 Azure Storage 계정에 연결하는 자체 호스팅 통합 런타임에서 사용합니다.

    데이터베이스 백업 파일이 이미 Azure Storage 계정에 제공된 경우 마이그레이션 프로세스 중에 자체 호스팅 통합 런타임이 필요하지 않습니다.

  • 자체 호스팅 통합 런타임을 사용하는 경우 런타임이 설치된 컴퓨터를 백업 파일이 있는 원본 SQL Server 인스턴스 및 네트워크 파일 공유에 연결할 수 있는지 확인합니다.

  • 네트워크 파일 공유에 대한 액세스를 허용하려면 아웃바운드 포트 445를 사용하도록 설정해야 합니다. 자세한 내용은 자체 호스팅 통합 런타임 사용을 위한 권장 사항을 참조하세요.

  • Database Migration Service를 처음 사용하는 경우 Microsoft.DataMigration 리소스 공급자가 구독에 등록되어 있는지 확인하세요. 다음 단계를 완료하여 리소스 공급자를 등록할 수 있습니다.

데이터베이스 마이그레이션을 위한 자체 호스팅 통합 런타임 사용에 대한 권장 사항

  • 여러 원본 SQL Server 데이터베이스에 단일 자체 호스팅 통합 런타임을 사용합니다.

  • 각 컴퓨터에는 자체 호스팅 통합 런타임 인스턴스를 하나씩만 설치합니다.

  • 하나의 자체 호스팅 통합 런타임만 하나의 Database Migration Service 인스턴스와 연결합니다.

  • 자체 호스팅 통합 런타임은 설치된 컴퓨터의 리소스(메모리 및 CPU)를 사용합니다. 원본 SQL Server 인스턴스와 별개의 컴퓨터에 자체 호스팅 통합 런타임을 설치합니다. 그러나 두 컴퓨터는 근접해야 합니다. 자체 호스팅 통합 런타임이 데이터 원본에 가까우면, 데이터 원본에 연결하는 시간이 줄어듭니다.

  • 온-프레미스 SMB 네트워크 공유에 데이터베이스 백업이 있는 경우에만 자체 호스팅 통합 런타임을 사용합니다. 원본 데이터베이스 백업이 이미 Storage Blob 컨테이너에 있는 경우 데이터베이스 마이그레이션에 자체 호스팅 통합 런타임이 필요하지 않습니다.

  • 단일 컴퓨터에서 자체 호스팅 통합 런타임당 최대 10개의 동시 데이터베이스 마이그레이션을 권장합니다. 동시 데이터베이스 마이그레이션 수를 늘리려면 자체 호스팅 런타임을 최대 4개의 노드로 확장하거나 다른 컴퓨터에서 별도의 자체 호스팅 통합 런타임 인스턴스를 만듭니다.

  • 릴리스된 모든 새로운 기능, 버그 수정 및 개선 사항을 자동으로 적용하도록 자체 호스팅 통합 런타임을 자동 업데이트하도록 구성합니다. 자세한 내용은 자체 호스팅 통합 런타임 자동 업데이트를 참조하세요.

Azure Portal에서 데이터베이스 마이그레이션 진행률 모니터링

Azure Data Studio용 Azure SQL 마이그레이션 확장은 데이터베이스를 마이그레이션할 때 마이그레이션 마법사에서 선택한 Database Migration Service를 통해 모든 마이그레이션 작업을 오케스트레이션합니다.

Azure Portal에서 데이터베이스 마이그레이션을 모니터링하려면 다음을 수행합니다.

  1. Azure Portal에서 리소스 이름을 사용하여 Database Migration Service 인스턴스를 검색합니다.

    Screenshot that shows how to search for a resource name in the Azure portal.

  2. Database Migration Service 인스턴스 개요에서 마이그레이션 모니터링을 선택하여 데이터베이스 마이그레이션의 세부 정보를 확인합니다.

    Screenshot that shows how to monitor migrations in the Azure portal.

알려진 문제 및 제한 사항

  • Database Migration Service는 Azure SQL Managed Instance의 대상 인스턴스, Azure SQL Database 또는 Azure Virtual Machines의 SQL Server에서 기존 데이터베이스를 덮어쓰는 기능을 지원하지 않습니다.

  • Database Migration Service는 원본 토폴로지와 일치하도록 대상에서 고가용성 및 재해 복구를 구성하는 기능을 지원하지 않습니다.

  • 다음 서버 개체는 지원되지 않습니다.

    • SQL Server 에이전트 작업
    • 자격 증명
    • SQL Server Integration Services 패키지
    • 서버 감사

    이동해야 하는 메타데이터 및 서버 개체의 전체 목록은 다른 서버에서 데이터베이스를 사용할 수 있도록 할 때 메타데이터 관리에서 제공되는 자세한 정보를 참조하세요.

  • SQL Server 2008 및 이전 대상 버전은 Azure Virtual Machines SQL Server 마이그레이션에 지원되지 않습니다.

  • SQL Server 2014 또는 SQL Server 2012를 사용하는 경우 네트워크 공유 옵션을 사용하는 대신 Azure Storage Blob 컨테이너에 원본 데이터베이스 백업 파일을 저장해야 합니다. 백업 파일을 페이지 Blob으로 저장합니다. 블록 Blob은 SQL Server 2016 이상 버전에서만 지원됩니다.

  • Database Migration Service를 사용한 데이터베이스 마이그레이션을 위해 Azure Data Factory에서 만든 기존 자체 호스팅 통합 런타임을 사용할 수 없습니다. 처음에는 Azure Data Studio용 Azure SQL 마이그레이션 확장을 사용하여 자체 호스팅 통합 런타임을 만듭니다. 향후 데이터베이스 마이그레이션에서 자체 호스팅 통합 런타임을 다시 사용할 수 있습니다.

  • Azure Data Studio는 현재 원본 SQL Server 인스턴스에 연결하기 위해 Microsoft Entra ID/Windows 인증 및 SQL 로그인을 모두 지원합니다. Azure SQL 대상의 경우 SQL 로그인만 지원됩니다.

가격 책정

  • Azure Database Migration Service는 Azure Data Studio용 Azure SQL 마이그레이션 확장과 함께 무료로 사용할 수 있습니다. Database Migration Service를 사용하여 여러 SQL Server 데이터베이스를 무료로 마이그레이션할 수 있습니다.

  • 온-프레미스 환경에서 Azure로 데이터베이스를 마이그레이션할 때는 데이터 이동 또는 데이터 수신 비용이 평가되지 않습니다. 원본 데이터베이스를 다른 지역이나 Azure 가상 머신에서 이동하는 경우 대역폭 공급자 및 라우팅 시나리오에 따라 대역폭 요금이 발생할 수 있습니다.

  • 가상 머신 또는 온-프레미스 서버를 사용하여 Azure Data Studio를 설치합니다.

  • 온-프레미스 네트워크 공유에서 데이터베이스 백업에 액세스하려면 자체 호스팅 통합 런타임이 필요합니다.

사용 가능 지역

Azure Data Studio용 Azure SQL 마이그레이션 확장을 사용하여 데이터베이스 마이그레이션을 지원하는 Azure 지역 목록(Azure Database Migration Service 제공)은 지역별 사용 가능한 Azure 제품을 참조하세요.

다음 단계