추가 마이그레이션 방법 비교
Azure Migrate
Azure Migrate는 운영 체제 또는 SQL Server 버전을 변경하지 않고 전체 실제 또는 가상 SQL Server를 현재 위치에서 Azure Virtual Machine의 SQL Server 인스턴스로 이동하는 데 사용할 수 있는 리프트 앤 시프트 마이그레이션 전략입니다. 마이그레이션하는 동안 원본 서버는 온라인 상태를 유지하고 요청을 계속 처리하는 한편 원본 서버와 대상 서버 간에 데이터가 동기화되어 거의 원활한 마이그레이션이 가능합니다.
트랜잭션 복제
가동 중지 시간을 최소화해야 하고 상시 가동 온-프레미스 배포가 없는 경우 트랜잭션 복제를 사용합니다. 마이그레이션하려는 온-프레미스 SQL Server 데이터베이스를 게시자로 구성하고 Azure Virtual Machine에서 SQL Server를 SQL Server 인스턴스에 대한 푸시 구독자로 구성할 수 있습니다.
이 마이그레이션을 사용하는 데 필요한 기본 단계는 다음 세 가지입니다.
- 배포 설정: 복제 토폴로지에서 아티클의 배포를 담당합니다. 아티클은 데이터베이스 개체입니다. 간행물에 포함된 테이블을 예로 들 수 있습닏나.
- 간행물 만들기: 복제 중인 데이터베이스에서 하나 이상의 기사 모음입니다.
- 구독 만들기: 게시자의 간행물에 대한 구독자의 요청입니다.
테스트를 완료하고 데이터베이스가 Azure Virtual Machine의 구독자 인스턴스에 나타나면 구독자 데이터베이스에 대한 연결을 지정할 수 있습니다. 데이터가 성공적으로 마이그레이션되면 복제를 중지하고 삭제합니다.
로그 전달
로그 전달은 보조 서버에서 데이터베이스의 대기 복사본을 유지 관리하기 위해 SQL Server에서 사용되는 데이터베이스 복제 기술입니다. 기본(원본) 데이터베이스에서 하나 이상의 보조(대상) 서버로 트랜잭션 로그 파일을 지속적으로 백업할 수 있습니다.
기본 데이터베이스는 완전히 작동하며 트랜잭션 로그 백업의 원본 역할을 합니다. 그러면 트랜잭션 로그 백업이 자동으로 보조 서버에 복사되고 복원되어 보조 데이터베이스가 기본 데이터베이스와 동기화된 상태로 유지됩니다.
마이그레이션 시나리오에서 사용할 경우 장애 조치(failover) 중 중단을 최소화하고 Always On 가용성 그룹을 설정하는 것보다 설정이 덜 필요합니다.
로그 전달에 대한 자세한 내용은 로그 전달 테이블 및 저장 프로시저를 참조하세요.
데이터베이스 연결 및 분리
데이터베이스를 마이그레이션하는 데 사용할 수 있는 또 다른 오프라인 방법은 URL에서 데이터베이스를 분리한 다음 연결하는 것입니다. 데이터베이스와 로그 파일을 분리하고 Azure Storage 계정으로 전송할 수 있습니다. 그런 다음 Azure VM의 blob URL에서 데이터베이스를 연결합니다.
이 방법은 Azure Storage에 물리적 데이터베이스 파일을 저장하려는 경우 유용합니다. 대형 데이터베이스에 이 옵션을 사용할 수 있습니다. Azure Data Explorer 또는 AzCopy 명령줄 유틸리티를 통해 데이터베이스 및 로그 파일을 전송할 수 있습니다.
VM으로 변환하고, URL에 업로드하고, 새 VM으로 배포
이 방법을 사용하여 온-프레미스 SQL Server 인스턴스의 모든 시스템 및 사용자 데이터베이스를 Azure Virtual Machine으로 마이그레이션합니다. 자신의 SQL Server 라이선스를 가져오거나, 이전 버전의 SQL Server에서 실행하는 데이터베이스를 마이그레이션하거나, 다른 사용자 데이터베이스 및/또는 시스템 데이터베이스를 사용하는 데이터베이스 마이그레이션의 일부분으로 시스템 및 사용자 데이터베이스를 함께 마이그레이션할 때는 이 방식을 사용해야 합니다.
가져오기 내보내기 마법사/BACPAC
가져오기 프로세스를 위해 .bacpac 파일을 사용하여 SQL Server 데이터베이스를 Azure Virtual Machine의 SQL Server로 마이그레이션하도록 선택할 수 있습니다. 이 파일을 사용하면 Azure Blob Storage 또는 온-프레미스 위치의 로컬 스토리지에서 데이터를 가져올 수 있습니다. .bacpac 파일은 데이터베이스의 메타데이터와 데이터가 포함된 압축 파일입니다.
프로덕션 환경에서 최적의 규모와 성능을 얻으려면 SQLPackage 유틸리티를 사용하는 것이 좋습니다. 테이블 하위 집합에 대해 여러 SqlPackage 명령을 병렬로 실행하면 가져오기/내보내기 작업을 크게 가속화할 수 있습니다.
Azure Storage의 SQL Server 데이터 파일
이 방식은 전체 마이그레이션이 아니라 하이브리드 방식이지만 Azure Storage에 SQL Server 데이터 파일을 저장하면 조직에서 온-프레미스 및 클라우드 서비스를 원활하게 통합할 수 있습니다. 이는 조직이 비즈니스 요구 사항의 균형을 맞추고 온-프레미스 및 클라우드 솔루션의 이점을 모두 활용할 수 있도록 하는 장기 전략의 역할을 할 수 있습니다.
Azure에서 온-프레미스 SQL Server 데이터 파일을 호스팅하면 데이터를 클라우드로 마이그레이션하려는 조직에 여러 가지 이점이 있습니다. 애플리케이션을 변경하거나 새 하드웨어를 요구하지 않고 증분 마이그레이션을 허용하여 마이그레이션 프로세스를 단순화합니다.
대량 복사
bcp 유틸리티를 사용하면 SQL Server 테이블에서 데이터 파일로 또는 그 반대로 데이터를 대량으로 내보낼 수 있습니다. 향후 대량 가져오기 또는 대량 내보내기 작업을 위한 형식 파일 생성을 지원합니다. 이 유틸리티는 다목적이며 SQL Server와 다른 프로그램 또는 데이터베이스 간에 데이터를 전송할 수 있습니다.
기존 형식 파일을 사용할 수 없는 경우 bcp 명령을 효과적으로 사용하려면 테이블의 스키마 및 데이터 유형을 이해해야 합니다.
Azure Data Factory
전체 데이터베이스 마이그레이션이 아닌 데이터 마이그레이션에 Azure Data Factory를 사용할 수 있습니다. Azure Data Factory는 원본 SQL Server 데이터베이스에서 데이터를 마이그레이션하고 변환할 수 있습니다. 특히 비즈니스 인텔리전스 워크로드를 위해 여러 소스의 데이터를 Azure SQL Managed Instance로 병합하는 데 일반적으로 사용됩니다. 그러나 Azure Virtual Machine에서 실행되는 SQL Server 간에 데이터를 이동하는 데에도 사용할 수 있습니다. 이를 위해 Azure Data Factory에 데이터 이동 파이프라인을 만들어 원본에서 대상으로 데이터를 전송합니다.
Windows 가져오기/내보내기 서비스
네트워크를 통해 업로드할 수 없는 경우 Windows 가져오기/내보내기 서비스 방법을 사용하여 Azure Blob 스토리지로 대량의 데이터를 전송합니다. 이 서비스를 사용하면 해당 데이터가 포함된 하나 이상의 하드 드라이브를 Azure 데이터 센터로 보내 데이터가 스토리지 계정에 업로드됩니다.