다음을 통해 공유


자습서: DMS(클래식)를 사용하여 SQL Server를 SQL Managed Instance로 온라인 마이그레이션

Important

Azure Database Migration Service(클래식) - SQL 시나리오는 사용 중단 경로에 있습니다. 2023년 8월 1일부터 Azure Portal에서 SQL Server 시나리오에 대한 새 Database Migration Service(클래식) 리소스를 더 이상 만들 수 없습니다. 이 서비스는 모든 고객에 대해 2026년 3월 15일에 사용이 중지됩니다. 여러 데이터베이스 원본에서 Azure SQL Targets로 원활하게 마이그레이션하려면 Azure Data Studio의 확장인 Azure SQL 마이그레이션으로 또는 Azure Portal을 통해 또는 Azure PowerShell 및 Azure CLI를 통해 사용할 수 있는 최신 버전의 Azure Database Migration Service를 사용하는 것이 좋습니다. 자세한 내용은 사용 중지 알림: 데이터베이스 마이그레이션 서비스(클래식)를 참조하세요.

참고 항목

이 자습서에서는 이전 버전의 Azure Database Migration Service를 사용합니다. 향상된 기능 및 지원 가능성을 위해 Azure Data Studio에 대한 Azure SQL 마이그레이션 확장을 사용하여 Azure SQL Managed Instance로 마이그레이션하는 것이 좋습니다.

버전 간의 기능을 비교하려면 버전 비교를 검토하세요.

Azure Database Migration Service를 사용하면 최소한의 가동 중지 시간으로 SQL Server 인스턴스에서 Azure SQL Managed Instance로 데이터를 마이그레이션할 수 있습니다. 수동 작업이 필요할 수 있는 추가 방법은 SQL Server 인스턴스를 Azure SQL Managed Instance로 마이그레이션 문서를 참조하세요.

이 자습서에서는 Azure Database Migration Service를 사용하여 최소한의 가동 중지 시간으로 AdventureWorks2016 데이터베이스를 SQL Server의 온-프레미스 인스턴스에서 SQL Managed Instance로 마이그레이션합니다.

다음 방법에 대해 설명합니다.

  • Azure DataMigration 리소스 공급자를 등록합니다.
  • Azure Database Migration Service 인스턴스를 만듭니다.
  • Azure Database Migration Service를 사용하여 마이그레이션 프로젝트를 만들고 온라인 마이그레이션을 시작합니다.
  • 마이그레이션을 모니터링합니다.
  • 준비가 되면 마이그레이션 컷오버를 수행합니다.

Important

Azure Database Migration Service를 사용하여 SQL Server에서 SQL Managed Instance로 온라인 마이그레이션하려면 서버에서 데이터베이스를 마이그레이션하는 데 사용할 수 있는 SMB 네트워크의 전체 데이터베이스 백업 및 후속 로그 백업을 제공해야 합니다. Azure Database Migration Service는 백업을 새로 시작하는 것이 아니라 사용자가 재해 복구 계획의 일부로 보유한 기존 백업을 마이그레이션에 사용합니다. 각 백업은 별도의 백업 파일 또는 여러 백업 파일에 쓸 수 있습니다. 그러나 단일 백업 미디어에 여러 백업을 추가하는 기능(즉, 전체 및 t-log)은 지원되지 않습니다. 압축된 백업을 사용하여 대량 백업 마이그레이션과 관련된 잠재적인 문제 발생 가능성을 줄일 수 있습니다.

참고 항목

Azure Database Migration Service를 사용하여 온라인 마이그레이션을 수행하려면 프리미엄 가격 책정 계층에 따라 인스턴스를 만들어야 합니다.

Important

최적의 마이그레이션 환경을 위해 Microsoft는 대상 데이터베이스와 동일한 Azure 지역에서 Azure Database Migration Service의 인스턴스를 만드는 것을 권장합니다. 영역 또는 지역 간에 데이터를 이동하면 마이그레이션 프로세스 속도가 저하되고 오류가 발생할 수 있습니다.

Important

인스턴스 재구성 또는 계획된 유지 관리로 인한 중단 위험을 최소화하기 위해 온라인 마이그레이션 프로세스의 기간을 최대한 줄입니다. 그런 상황이 발생하면, 마이그레이션 프로세스가 처음부터 시작됩니다. 계획된 유지 관리의 경우 마이그레이션 프로세스가 다시 시작되기까지 36시간의 유예 기간이 있습니다.

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

이 문서에서는 SQL Server에서 SQL Managed Instance로 온라인 마이그레이션을 설명합니다. 오프라인 마이그레이션의 경우 DMS를 사용하여 SQL Server를 SQL Managed Instance로 오프라인 마이그레이션을 참조하세요.

필수 조건

이 자습서를 완료하려면 다음이 필요합니다.

  • SQL Server 2016 이상을 다운로드하여 설치합니다.

  • 문서 서버 네트워크 프로토콜 사용 또는 사용 안 함의 지침을 수행하여 SQL Server Express를 설치하는 동안 기본적으로 사용 안 함으로 설정되어 있는 TCP/IP 프로토콜을 사용하도록 설정합니다.

  • AdventureWorks2016 데이터베이스를 SQL Server 인스턴스로 복원합니다.

  • Azure Resource Manager 배포 모델을 사용하여 Azure Database Migration Service용 Microsoft Azure Virtual Network를 만듭니다. 그러면 ExpressRoute 또는 VPN을 사용하여 온-프레미스 원본 서버에 사이트 간 연결이 제공됩니다. Azure Database Migration Service를 사용한 SQL Managed Instance 마이그레이션에 대한 네트워크 토폴로지를 알아봅니다. 가상 네트워크를 만드는 방법에 대한 자세한 내용은 Virtual Network 설명서를 참조하세요. 특히 단계별 세부 정보를 제공하는 빠른 시작 문서를 참조하세요.

    참고 항목

    가상 네트워크 설정 중에 Microsoft에 대한 네트워크 피어링에서 ExpressRoute를 사용하는 경우 서비스가 프로비저닝되는 서브넷에 다음 서비스 엔드포인트를 추가합니다.

    • 대상 데이터베이스 엔드포인트(예: SQL 엔드포인트, Azure Cosmos DB 엔드포인트 등)
    • 스토리지 엔드포인트
    • Service Bus 엔드포인트

    Azure Database Migration Service에는 인터넷 연결이 없으므로 이 구성이 필요합니다.

    온-프레미스 네트워크와 Azure 사이에 사이트 간 연결이 없거나 사이트 간 연결 대역폭이 제한된 경우 하이브리드 모드(미리 보기)에서 Azure Database Migration Service를 사용하는 것이 좋습니다. 하이브리드 모드는 클라우드에서 실행 중인 Azure Database Migration Service 인스턴스와 함께 온-프레미스 마이그레이션 작업자를 활용합니다. 하이브리드 모드에서 Azure Database Migration Service의 인스턴스를 만들려면 Azure Portal을 사용하여 하이브리드 모드에서 Azure Database Migration Service 인스턴스 만들기 문서를 참조하세요.

    Important

    마이그레이션의 일부로 사용되는 스토리지 계정과 관련하여 다음 중 하나를 수행해야 합니다.

    • 모든 네트워크에서 스토리지 계정에 액세스할 수 있도록 허용합니다.
    • MI 서브넷에서 서브넷 위임을 켜고 이 서브넷을 허용하도록 스토리지 계정 방화벽 규칙을 업데이트합니다.
    • Azure Database Migration Service를 사용하는 프라이빗 엔드포인트가 있는 Azure Storage 계정은 사용할 수 없습니다.
  • 가상 네트워크 Network Security Group 규칙이 ServiceBus, Storage 및 AzureMonitor용 ServiceTag의 아웃바운드 포트 443을 차단하지 않는지 확인합니다. 가상 네트워크 NSG 트래픽 필터링에 대한 자세한 내용은 네트워크 보안 그룹을 사용하여 네트워크 트래픽 필터링 문서를 참조하세요.

  • 소스 데이터베이스 엔진 액세스를 위한 Windows 방화벽을 구성합니다.

  • Azure Database Migration Service가 원본 SQL Server(기본적으로 1433 TCP 포트)에 액세스할 수 있도록 Windows 방화벽을 엽니다. 기본 인스턴스가 일부 다른 포트에서 수신 중인 경우 이를 방화벽에 추가합니다.

  • 동적 포트를 사용하여 명명된 여러 SQL Server 인스턴스를 실행하는 경우 SQL Browser 서비스를 사용하도록 설정하고, 방화벽을 통해 1434 UDP 포트에 액세스하도록 허용하여 Azure Database Migration Service가 원본 서버에서 명명된 인스턴스에 연결할 수 있습니다.

  • 원본 데이터베이스 앞에 방화벽 어플라이언스를 사용하는 경우 Azure Database Migration Service에서 마이그레이션을 위해 원본 데이터 베이스 및 SMB 포트 445를 통해 파일에 액세스할 수 있도록 허용하는 방화벽 규칙을 추가해야 할 수 있습니다.

  • Azure Portal에서 SQL Managed Instance 만들기 문서의 세부 정보에 따라 SQL Managed Instance를 만듭니다.

  • 원본 SQL Server와 대상 SQL Managed Instance를 연결하는 데 사용되는 로그인이 sysadmin 서버 역할의 멤버인지 확인합니다.

  • Azure Database Migration Service가 데이터베이스 마이그레이션에 사용할 수 있는 모든 데이터베이스 전체 데이터베이스 백업 파일과 후속 트랜잭션 로그 백업 파일이 포함된 SMB 네트워크 공유를 제공합니다.

  • 원본 SQL Server 인스턴스를 실행 중인 서비스 계정에 본인이 만든 네트워크 공유에 대한 쓰기 권한이 있고, 원본 서버의 컴퓨터 계정에 동일한 공유에 대한 읽기/쓰기 액세스 권한이 있는지 확인합니다.

  • 이전에 만든 네트워크 공유에 대한 전체 제어 권한을 갖고 있는 Windows 사용자(및 암호)를 메모해 둡니다. Azure Database Migration Service는 사용자 자격 증명을 가장하여 복원 작업을 위해 백업 파일을 Azure Storage 컨테이너에 업로드합니다.

  • Azure Database Migration Service가 대상 Azure SQL Database Managed Instance 및 Azure Storage 컨테이너에 연결하는 데 사용할 수 있는 애플리케이션 ID 키를 생성하는 Microsoft Entra 애플리케이션 ID를 만듭니다. 자세한 내용은 포털을 사용하여 리소스에 액세스할 수 있는 Microsoft Entra 애플리케이션 및 서비스 주체 만들기 문서를 참조하세요.

    참고 항목

    Azure Database Migration Service에서 사용하는 애플리케이션 ID는 서비스 주체에 대한 비밀(암호 기반) 인증을 지원합니다. 인증서 기반 인증을 지원하지 않습니다.

    참고 항목

    Azure Database Migration Service를 사용하려면 지정된 애플리케이션 ID용 구독에 대한 기여자 권한이 필요합니다. 또는 Azure Database Migration Service에 필요한 특정 권한을 부여하는 사용자 지정 역할을 만들 수 있습니다. 사용자 지정 역할을 사용하는 방법에 대한 단계별 지침은 SQL Server에서 SQL Managed Instance로 온라인 마이그레이션하기 위한 사용자 지정 역할 문서를 참조하세요.

  • DMS 서비스가 데이터베이스 백업 파일을 업로드하여 데이터베이스를 마이그레이션하는 데 사용할 수 있는 표준 성능 계층, Azure Storage 계정을 만들거나 기록합니다. Azure Database Migration Service 인스턴스와 동일한 지역에 Azure Storage 계정을 만들어야 합니다.

    참고 항목

    온라인 마이그레이션을 사용하여 투명한 데이터 암호화로 보호되는 데이터베이스를 관리형 인스턴스로 마이그레이션하는 경우 데이터베이스 복원 전에 온-프레미스 또는 Azure VM SQL Server 인스턴스의 해당 인증서를 마이그레이션해야 합니다. 자세한 단계는 TDE 인증서를 관리형 인스턴스로 마이그레이션을 참조하세요.

리소스 공급자 등록

첫 번째 Database Migration Service 인스턴스를 만들기 전에 Microsoft.DataMigration 리소스 공급자를 등록합니다.

  1. Azure Portal에 로그인합니다. 구독을 검색하여 선택합니다.

    포털 구독 표시

  2. Azure Database Migration Service의 인스턴스를 만들 구독을 선택한 다음, 리소스 공급자를 선택합니다.

    리소스 공급자 보기

  3. 마이그레이션을 검색한 다음, Microsoft.DataMigration에 대해 등록을 선택합니다.

    리소스 공급자 등록

Azure Database Migration Service 인스턴스 생성

  1. Azure Portal 메뉴 또는 페이지에서 리소스 만들기를 선택합니다. Azure Database Migration Service를 검색하여 선택합니다

    Azure Marketplace

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

    Azure Database Migration Service 인스턴스 만들기

    적절한 원본 서버 유형대상 서버 유형을 선택하고 Database Migration Service(클래식) 옵션을 선택합니다.

    데이터베이스 마이그레이션 서비스(클래식) 시나리오 선택

  3. 마이그레이션 서비스 만들기 기본 사항 화면에서:

    • 구독을 선택합니다.
    • 새로운 리소스 그룹을 지정하거나 기존 항목을 만듭니다.
    • Azure Database Migration Service의 인스턴스 이름를 지정합니다.
    • Azure Database Migration Service 인스턴스를 만들 위치를 선택합니다.
    • Azure를 서비스 모드로 선택합니다.
    • 가격 책정 계층을 선택합니다. 비용 및 가격 책정 계층에 대한 자세한 내용은 가격 책정 페이지를 참조하세요.

    Azure Database Migration Service 인스턴스 기본 설정 구성

    • 다음: 네트워킹을 선택합니다.
  4. 마이그레이션 서비스 만들기 네트워킹 화면에서:

    • 기존 가상 네트워크를 선택하거나 새로 생성합니다. 가상 네트워크는 원본 서버 및 대상 인스턴스에 대한 액세스 권한이 있는 Azure Database Migration Service를 제공합니다. Azure Portal에서 가상 네트워크를 만드는 방법에 대한 자세한 내용은 Azure Portal을 사용하여 가상 네트워크 만들기 문서를 참조하세요.

    Azure Database Migration Service 인스턴스 네트워킹 설정 구성

    • 검토 + 만들기를 선택하여 세부 정보를 검토한 다음 만들기를 선택하여 서비스를 만듭니다.

    • 잠시 후에 Azure Database Migration Service 인스턴스가 만들어져 사용할 준비가 됩니다.

    만든 마이그레이션 서비스

마이그레이션 프로젝트 생성

서비스 인스턴스가 생성된 후 Azure Portal에서 서비스를 찾아 연 다음, 새로운 마이그레이션 프로젝트를 만듭니다.

  1. Azure Portal 메뉴에서 모든 서비스를 선택합니다. Azure Database Migration Services를 검색하여 선택합니다

    Azure Database Migration Service의 모든 인스턴스 찾기

  2. Azure Database Migration Services 화면에서 직접 만든 Azure Database Migration Service 인스턴스를 선택합니다.

  3. 새 마이그레이션 프로젝트를 선택합니다.

    Azure Database Migration Service 인스턴스 찾기

  4. 새 마이그레이션 프로젝트 화면에서 프로젝트의 이름을 지정하고, 원본 서버 형식 텍스트 상자에서 SQL Server를 선택하고, 대상 서버 형식 텍스트 상자에서 Azure SQL Database Managed Instance를 선택한 다음, 작업 형식 선택에서 온라인 데이터 마이그레이션을 선택합니다.

    Database Migration Service 프로젝트 만들기

  5. 작업 만들기 및 실행을 선택하여 프로젝트를 만들고 마이그레이션 작업을 실행합니다.

원본 세부 정보 지정

  1. 원본 선택 화면에서 원본 SQL Server 인스턴스에 대한 연결 세부 정보를 지정합니다.

    원본 SQL Server 인스턴스 이름에 정규화된 도메인 이름(FQDN)을 사용하도록 합니다. 또한 DNS 이름을 확인할 수 없는 경우에는 IP 주소를 사용할 수도 있습니다.

  2. 서버에 신뢰할 수 있는 인증서가 설치되지 않은 경우 서버 인증서 신뢰 확인란을 선택합니다.

    신뢰할 수 있는 인증서가 설치되어 있지 않으면 인스턴스가 시작될 때 SQL Server에서 자체 서명 인증서를 생성합니다. 이 인증서는 클라이언트 연결에 대한 자격 증명을 암호화하는 데 사용됩니다.

    주의

    자체 서명 인증서를 사용하여 암호화된 TLS 연결은 강력한 보안을 제공하지 않습니다. 중간자 공격(man-in-the-middle)을 받기 쉽습니다. 프로덕션 환경이나 인터넷에 연결된 서버에서는 자체 서명된 인증서를 사용한 TLS에 의존해서는 안 됩니다.

    원본 세부 정보

  3. 다음: 대상 선택 선택

대상 세부 정보 지정

  1. 대상 선택 화면에서 DMS 인스턴스가 SQL Managed Instance 및 Azure Storage Account의 대상 인스턴스에 연결하는 데 사용할 수 있는 애플리케이션 ID를 지정합니다.

    자세한 내용은 포털을 사용하여 리소스에 액세스할 수 있는 Microsoft Entra 애플리케이션 및 서비스 주체 만들기 문서를 참조하세요.

  2. SQL Managed Instance의 대상 인스턴스가 포함된 구독을 선택한 다음, 대상 SQL Managed Instance를 선택합니다.

    SQL Managed Instance를 아직 프로비저닝하지 않은 경우 인스턴스를 프로비저닝하는 데 도움이 되는 링크를 선택합니다. SQL Managed Instance가 준비되면 이 프로젝트로 돌아가서 마이그레이션을 실행합니다.

  3. SQL Managed Instance에 연결할 SQL 사용자암호를 입력합니다.

    대상 선택

  4. 다음: 데이터베이스 선택을 선택합니다.

원본 데이터베이스 지정

  1. 데이터베이스 선택 화면에서 마이그레이션할 원본 데이터베이스를 선택합니다.

원본 데이터베이스 선택

Important

SSIS(SQL Server Integration Services)를 사용하는 경우 DMS는 현재 SSIS 프로젝트/패키지의 카탈로그 데이터베이스(SSISDB)를 SQL Server에서 SQL Managed Instance로 마이그레이션하는 기능을 지원하지 않습니다. 하지만 ADF(Azure Data Factory)에 SSIS를 프로비저닝하고 SQL Managed Instance에서 호스팅하는 대상 SSISDB에 SSIS 프로젝트/패키지를 재배포할 수 있습니다. SSIS 패키지 마이그레이션에 대한 자세한 내용은 SQL Server Integration Services 패키지를 Azure로 마이그레이션 문서를 참조하세요.

  1. 다음: 마이그레이션 설정 구성을 선택합니다.

마이그레이션 설정 구성

  1. 마이그레이션 설정 구성 화면에서 다음 세부 정보를 입력합니다.

    매개 변수 설명
    SMB 네트워크 위치 공유 Azure Database Migration Service에서 마이그레이션에 사용할 수 있는 전체 데이터베이스 백업 파일과 트랜잭션 로그 백업 파일이 포함된 로컬 SMB 네트워크 공유 및 Azure 파일 공유입니다. 원본 SQL Server 인스턴스를 실행하는 서비스 계정에는 이 네트워크 공유에 대한 읽기/쓰기 권한이 있어야 합니다. 네트워크 공유에 있는 서버의 FQDN 또는 IP 주소를 입력합니다(예: '\\servername.domainname.com\backupfolder' 또는 '\\IP address\backupfolder'). 성능 향상을 위해 마이그레이션할 각 데이터베이스마다 별도의 폴더를 사용하는 것이 좋습니다. 고급 설정 옵션을 사용하여 데이터베이스 수준 파일 공유 경로를 제공할 수 있습니다. SMB 공유에 연결하는 데 문제가 발생하는 경우 SMB 공유를 참조하세요.
    사용자 이름 Windows 사용자가 위에서 입력한 네트워크 공유에 대한 전체 제어 권한을 갖고 있는지 확인합니다. Azure Database Migration Service는 사용자 자격 증명을 가장하여 복원 작업을 위해 백업 파일을 Azure Storage 컨테이너에 업로드합니다. Azure 파일 공유를 사용하는 경우 AZURE\가 앞에 나오는 스토리지 계정 이름을 사용자 이름으로 사용합니다.
    암호 사용자에 대한 암호입니다. Azure 파일 공유를 사용하는 경우 스토리지 계정 키를 암호로 사용합니다.
    Azure Storage 계정의 구독 Azure Storage 계정이 포함된 구독을 선택합니다.
    Azure Storage Account DMS가 SMB 네트워크 공유에서 백업 파일을 업로드하고 데이터베이스 마이그레이션에 사용할 수 있는 Azure Storage 계정을 선택합니다. 최적의 파일 업로드 성능을 위해서는 DMS 서비스와 동일한 지역에서 스토리지 계정을 선택하는 것이 좋습니다.

    마이그레이션 설정 구성

    참고 항목

    Azure Database Migration Service에 '시스템 오류 53' 또는 '시스템 오류 57' 오류가 표시되면 이로 인해 Azure Database Migration Service에서 Azure 파일 공유에 액세스하지 못할 수 있습니다. 이러한 오류 중 하나가 발생하면 여기의 지침을 사용하여 가상 네트워크에서 스토리지 계정에 대한 액세스 권한을 부여합니다.

    Important

    루프백 확인 기능을 사용하도록 설정되어 있고 원본 SQL Server와 파일 공유가 동일한 컴퓨터에 있으면 원본은 FQDN을 사용하여 파일 공유에 액세스할 수 없습니다. 이 문제를 해결하려면 여기의 지침을 사용하여 루프백 확인 기능을 사용하지 않도록 설정합니다.

  2. 다음: 요약을 선택합니다.

마이그레이션 요약 검토

  1. 요약 화면의 작업 이름 텍스트 상자에서 마이그레이션 작업의 이름을 지정합니다.

  2. 마이그레이션 프로젝트와 연결된 세부 정보를 검토하고 확인합니다.

    마이그레이션 프로젝트 요약

마이그레이션 실행 및 모니터링

  1. 마이그레이션 시작을 선택합니다.

  2. 현재 데이터베이스 마이그레이션 상태를 표시하는 마이그레이션 작업 창이 나타납니다. 새로 고침을 선택하여 디스플레이를 업데이트합니다.

    진행 중인 마이그레이션 작업

    데이터베이스 및 로그인 범주를 더 확장하여 각 서버 개체의 마이그레이션 상태를 모니터링할 수 있습니다.

    마이그레이션 작업 상태

마이그레이션 중단 수행

SQL Managed Instance의 대상 인스턴스에서 전체 데이터베이스 백업이 복원되면 마이그레이션 중단을 수행하는 데 데이터베이스를 사용할 수 있습니다.

  1. 온라인 데이터베이스 마이그레이션을 완료할 준비가 되면 중단 시작을 선택합니다.

  2. 원본 데이터베이스로 들어오는 모든 트래픽을 중지합니다.

  3. [비상 로그 백업]을 가져와서 SMB 네트워크 공유에서 백업 파일을 사용할 수 있도록 만든 다음 최종 트랜잭션 로그 백업이 복원될 때까지 기다립니다.

    이 시점에서 보류 중인 변경 내용이 0으로 설정됩니다.

  4. 확인적용을 차례로 선택합니다.

    단독형 완료 준비

    Important

    컷오버 이후에는 중요 비즈니스용 서비스 계층이 있는 SQL Managed Instance의 가용성이 범용보다 훨씬 더 오래 걸릴 수 있습니다. Always On 고가용성 그룹에 대해 세 개의 보조 복제본을 시드해야 하기 때문입니다. 이 작업 기간은 데이터 크기에 따라 다릅니다. 자세한 내용은 관리 작업 기간을 참조하세요.

  5. 데이터베이스 마이그레이션 상태가 완료됨으로 표시되면 애플리케이션을 SQL Managed Instance의 새 대상 인스턴스에 연결합니다.

    단독형 완료

추가 리소스