마이그레이션 가이드: MySQL에서 SQL Server로 마이그레이션

적용 대상:SQL Server

이 가이드에서는 MySQL 데이터베이스를 SQL Server로 마이그레이션하는 방법을 알아봅니다.

다른 마이그레이션 가이드는 Azure 데이터베이스 마이그레이션 가이드를 참조하세요.

필수 조건

MySQL 데이터베이스를 SQL Server로 마이그레이션하기 전에 다음을 수행합니다.

사전 마이그레이션

필수 조건을 충족하면 원본 MySQL 환경을 검색하고 마이그레이션 적합성을 평가할 수 있습니다.

평가

MySQL용 SSMA를 사용하여 데이터베이스 개체 및 데이터를 검토하고 마이그레이션할 데이터베이스를 평가합니다.

평가를 만들려면:

  1. MySQL용 SSMA를 엽니다.

  2. 파일 메뉴에서 새 프로젝트를 선택합니다.

  3. 프로젝트 이름과 위치를 입력하여 프로젝트와 마이그레이션 대상을 저장합니다. 마이그레이션 대상 옵션에서 SQL Server를 선택합니다.

    Screenshot that shows New Project option.

  4. MySQL에 연결 대화 상자에 연결 세부 정보를 입력한 다음, MySQL 서버에 연결합니다.

    Screenshot that shows Connect to MySQL option.

  5. 마이그레이션할 MySQL 데이터베이스를 선택합니다.

    Screenshot that shows selecting the MySQL database you want to migrate.

  6. MySQL 메타데이터 탐색기에서 MySQL 데이터베이스를 마우스 오른쪽 단추로 클릭하고 보고서 만들기를 선택합니다. 또는 오른쪽 상단 모서리에 있는 보고서 만들기 탭을 선택할 수 있습니다.

    Screenshot that shows Create Report feature.

  7. HTML 보고서를 검토하여 변환 통계와 오류 또는 경고를 파악합니다. Excel에서 보고서를 열어 MySQL 개체의 인벤토리와 스키마 변환을 수행하는 데 필요한 작업을 가져올 수도 있습니다. 보고서의 기본 위치는 다음과 같이 SSMAProjects 내의 보고서 폴더에 있습니다.

    drive:\Users\<username>\Documents\SSMAProjects\MySQLMigration\report\report_2016_11_12T02_47_55\.

    Screenshot that shows a conversion report.

형식 매핑 확인

기본 데이터 형식 매핑의 유효성을 검사하고 필요한 경우 요구 사항에 따라 해당 매핑을 변경합니다. 이를 수행하려면:

  1. 도구 메뉴에서 프로젝트 설정을 선택합니다.

  2. 형식 매핑 탭을 선택합니다.

    Screenshot that shows Type Mapping feature.

  3. MySQL 메타데이터 탐색기에서 테이블을 선택하여 각 테이블의 형식 매핑을 변경할 수 있습니다.

MySQL용 SSMA의 변환 설정에 대한 자세한 내용은 프로젝트 설정(변환)(MySQLToSQL)을 참조하세요.

스키마 변환

데이터베이스 개체 변환에서는 MySQL에서 개체 정의를 가져와 유사한 SQL Server 개체로 변환한 다음, 이 정보를 MySQL용 SSMA 메타데이터에 로드합니다. 정보를 SQL Server 인스턴스에 로드하지는 않습니다. 이제 SQL Server 메타데이터 탐색기를 사용하여 개체와 해당 속성을 볼 수 있습니다.

변환하는 동안 MySQL용 SSMA는 출력 창에 출력 메시지를 출력하고 오류 목록 창에 오류 메시지를 출력합니다. 출력 및 오류 정보를 사용하면 원하는 변환 결과를 얻기 위해 MySQL 데이터베이스와 변환 프로세스 중 어떤 것을 수정해야 하는지 결정할 수 있습니다.

스키마를 변환하려면 다음을 수행합니다.

  1. (선택 사항) 동적 쿼리나 임시 쿼리를 변환하려면 노드를 마우스 오른쪽 단추로 클릭하고 문 추가를 선택합니다.

  2. SQL Server에 연결 탭을 선택합니다.

    1. SQL Server 인스턴스에 대한 연결 세부 정보를 입력합니다.
    2. 드롭다운 목록에서 대상 데이터베이스를 선택하거나 새 이름을 입력합니다. 이 경우 대상 서버에 데이터베이스가 생성됩니다.
    3. 인증 세부 정보를 입력한 다음, 연결을 선택합니다.

    Screenshot that shows Connect to SQL Server.

  3. MySQL 메타데이터 탐색기에서 MySQL 데이터베이스를 마우스 오른쪽 단추로 클릭한 다음, 스키마 변환을 선택합니다. 또는 오른쪽 상단에서 스키마 변환 탭을 선택할 수 있습니다.

    Screenshot that shows Convert Schema option.

  4. 변환이 완료된 후 변환된 개체와 원래 개체를 비교하고 검토하여 잠재적인 문제를 파악하고 권장 사항에 따라 해결합니다.

    Screenshot that shows comparing and reviewing objects.

  5. 변환된 Transact-SQL 텍스트와 원래 코드를 비교하고 권장 사항을 검토합니다.

    Screenshot that shows comparing and reviewing converted code.

  6. 출력 창에서 결과 검토를 선택하고 오류 목록 창에서 오류를 검토합니다.

  7. 오프라인 스키마 수정 연습을 위해 프로젝트를 로컬로 저장합니다. 파일 메뉴에서 프로젝트 저장을 선택합니다. 이 단계에서는 원본 및 대상 스키마를 오프라인으로 평가하고, 스키마를 SQL Server에 게시하기 전에 수정을 수행할 수 있습니다.

자세한 내용은 MySQL 데이터베이스 변환(MySQLToSQL)을 참조하세요.

마이그레이션

필요한 필수 조건을 준비하고 마이그레이션 전 단계와 관련된 작업을 완료했으면 스키마 및 데이터 마이그레이션을 수행할 준비가 된 것입니다.

데이터 마이그레이션에는 두 가지 옵션이 있습니다.

  • 클라이언트 쪽 데이터 마이그레이션

    • 클라이언트 쪽 데이터 마이그레이션을 수행하려면 프로젝트 설정 대화 상자에서 클라이언트 쪽 데이터 마이그레이션 엔진 옵션을 선택합니다.

    참고

    SQL Express Edition을 대상 데이터베이스로 사용하는 경우 클라이언트 쪽 데이터 마이그레이션만 허용되며 서버 쪽 데이터 마이그레이션은 지원되지 않습니다.

  • 서버 쪽 데이터 마이그레이션

    • 서버 쪽에서 데이터 마이그레이션을 수행하기 전에 다음을 확인합니다.
      • MySQL용 SSMA 확장 팩이 SQL Server 인스턴스에 설치되어 있습니다.
      • SQL Server 에이전트 서비스가 SQL Server 인스턴스에서 실행되고 있습니다.
    • 서버 쪽 데이터 마이그레이션을 수행하려면 프로젝트 설정 대화 상자에서 서버 쪽 데이터 마이그레이션 엔진 옵션을 선택합니다.

중요

서버 쪽 데이터 마이그레이션 엔진을 사용하려면 데이터를 마이그레이션하기 전에 MySQL용 SSMA가 실행되는 컴퓨터에 MySQL용 SSMA 확장 팩과 MySQL 공급자를 설치해야 합니다. SQL Server 에이전트 서비스도 실행되고 있어야 합니다. 확장 팩 설치 방법에 대한 자세한 내용은 SQL Server에 SSMA 구성 요소 설치(MySQLToSQL)를 참조하세요.

스키마를 게시하고 데이터를 마이그레이션하려면 다음을 수행합니다.

  1. SQL Server 메타데이터 탐색기에서 데이터베이스를 마우스 오른쪽 단추로 클릭하고 데이터베이스와 동기화를 선택하여 스키마를 게시합니다. 이 작업을 수행하면 MySQL 데이터베이스가 SQL Server 인스턴스에 게시됩니다.

    Screenshot that shows Synchronize with Database.

  2. 원본 프로젝트와 대상 간의 매핑을 검토합니다.

    Screenshot that shows reviewing the synchronization with the database.

  3. MySQL 메타데이터 탐색기에서 마이그레이션할 데이터베이스나 개체를 마우스 오른쪽 단추로 클릭하고 데이터 마이그레이션을 선택합니다. 또는 데이터 마이그레이션 탭을 선택할 수 있습니다. 전체 데이터베이스에 대한 데이터를 마이그레이션하려면 데이터베이스 이름 옆의 확인란을 선택합니다. 개별 테이블에서 데이터를 마이그레이션하려면 데이터베이스를 확장하고 테이블을 확장한 다음, 테이블 옆에 있는 확인란을 선택합니다. 개별 테이블에서 데이터를 생략하려면 확인란의 선택을 취소합니다.

    Screenshot that shows Migrate Data option.

  4. 마이그레이션이 완료되면 데이터 마이그레이션 보고서를 확인합니다.

    Screenshot that shows the Data Migration Report.

  5. SSMS(SQL Server Management Studio)를 사용하여 SQL Server 인스턴스에 연결하고, 데이터 및 스키마를 검토하여 마이그레이션의 유효성을 검사합니다.

    Screenshot that shows validation in SQL Server Management Studio.

마이그레이션 후 작업

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

애플리케이션 수정

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

테스트 수행

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

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

최적화

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

참고

이러한 문제와 이를 완화하는 단계에 대한 자세한 내용은 마이그레이션 후 유효성 검사 및 최적화 가이드를 참조하세요.

마이그레이션 자산

이 마이그레이션 시나리오를 완료하는 방법에 대한 추가 지원은 다음 리소스를 참조하세요. 실제 마이그레이션 프로젝트 참여를 지원하기 위해 개발되었습니다.

제목 Description
Data Workload Assessment Model and Tool(데이터 워크로드 평가 모델 및 도구) 이 도구는 지정된 워크로드에 권장되는 “최적의” 대상 플랫폼, 클라우드 준비 상태, 애플리케이션 또는 데이터베이스 수정 수준을 제공합니다. 또한 자동화되고 균일한 대상 플랫폼 결정 프로세스를 제공하여 대규모 자산 평가를 가속화하는 데 도움이 되는 간편한 계산 및 보고서 생성 기능을 제공합니다.
MySQL을 SQL Server로 - 데이터베이스 비교 유틸리티 데이터베이스 비교 유틸리티는 원본 플랫폼과 대상 플랫폼에서 데이터가 동일한지 확인하는 데 사용할 수 있는 Windows 콘솔 애플리케이션입니다. 이 도구를 사용하여 모든 테이블 또는 선택한 테이블, 행, 열의 행 또는 열 수준까지 데이터를 효율적으로 비교할 수 있습니다.

데이터 SQL 엔지니어링 팀이 이러한 리소스를 개발했습니다. 이 팀의 핵심 선언은 Microsoft의 Azure 데이터 플랫폼으로의 데이터 플랫폼 마이그레이션 프로젝트에 대한 복잡한 현대화의 장애물을 제거하고 속도를 높이는 것입니다.