적용 대상:Azure Virtual Machines의 SQL Server
이 가이드에서는 요구 사항에 따라 기술 및 도구를 사용하여 SQL Server의 사용자 데이터베이스를 Azure Virtual Machines의 SQL Server 인스턴스로 마이그레이션하는 방법을 알아봅니다.
계속하기 전에 마이그레이션 전 단계를 완료하세요.
마이그레이션
사전 마이그레이션 단계에 대한 단계를 완료하고 나면 사용자 데이터베이스 및 구성 요소를 마이그레이션할 준비가 된 것입니다. 선호하는 마이그레이션 방법을 사용하여 데이터베이스를 마이그레이션합니다.
다음 섹션에서는 기본 설정 순서대로 마이그레이션을 수행하는 옵션을 제공합니다.
- 백업 및 복원
- URL에서 분리 및 연결
- VM으로 변환하고, URL에 업로드하고, 새 VM으로 배포
- 로그 전달
- 하드 드라이브 운송
- Azure Data Studio용 Azure SQL 마이그레이션 확장을 사용하여 마이그레이션(가동 중지 시간 최소화)
- 사용자 데이터베이스 외부에 있는 개체 마이그레이션
URL에서 분리 및 연결
데이터베이스 및 로그 파일을 분리하고 Azure Blob Storage로 전송합니다. 그런 다음 Azure VM의 URL에서 데이터베이스를 연결합니다. 물리적 데이터베이스 파일이 Blob Storage에 상주하도록 하려면 이 방법을 사용합니다. 이는 매우 큰 데이터베이스에 유용할 수 있습니다. 수동 메서드를 사용하여 사용자 데이터베이스를 마이그레이션하려면 다음과 같은 일반적인 단계를 사용합니다.
- 온-프레미스 데이터베이스 인스턴스에서 데이터베이스 파일을 분리합니다.
- AZCopy 명령줄 유틸리티를 사용하여 분리된 데이터베이스를 Azure Blob 스토리지에 복사합니다.
- Azure URL의 데이터베이스 파일을 Azure VM에서 SQL Server 인스턴스로 연결합니다.
백업 및 복원
백업 및 복원을 사용하여 표준 마이그레이션을 수행하려면 다음을 수행합니다.
- 요구 사항에 따라 Azure Virtual Machines에서 SQL Server에 대한 연결을 설정합니다. 자세한 내용은 Azure에서 SQL Server Virtual Machine에 연결을 참조하세요.
- 마이그레이션용 데이터베이스를 사용하는 모든 애플리케이션을 일시 중지하거나 중지합니다.
- 단일 사용자 모드를 사용하여 사용자 데이터베이스가 비활성 상태인지 확인합니다.
- 온-프레미스 위치에 전체 데이터베이스 백업을 수행합니다.
- 원격 데스크톱, Azure Data Explorer 또는 AZCopy 명령줄 유틸리티를 사용하여 온-프레미스 백업 파일을 VM에 복사합니다. (2TB 이상의 백업이 권장됩니다.)
- Azure Virtual Machines의 SQL Server에 전체 데이터베이스 백업을 복원합니다.
VM으로 변환하고, URL에 업로드하고, 새 VM으로 배포
이 방법을 사용하여 온-프레미스 SQL Server 인스턴스의 모든 시스템과 사용자 데이터베이스를 Azure 가상 머신으로 마이그레이션합니다. 수동 메서드를 사용하여 전체 SQL Server 인스턴스를 마이그레이션하려면 다음과 같은 일반적인 단계를 사용합니다.
- 물리적 또는 가상 머신을 Hyper-V VHD로 변환합니다.
- Add-AzureVHD cmdlet을 사용하여 VHD 파일을 Azure Storage에 업로드합니다.
- 업로드된 VHD를 사용하여 새 가상 머신을 배포합니다.
참고
전체 애플리케이션을 마이그레이션하려면 Azure Site Recovery 사용을 고려합니다.
로그 전달
로그 전달은 온-프레미스의 트랜잭션 로그 파일을 Azure VM의 SQL Server 인스턴스로 복제합니다. 이 옵션은 장애 조치(failover) 중 가동 중지 시간을 최소화하고 Always On 가용성 그룹을 설정하는 것보다 구성 오버헤드가 적습니다.
자세한 내용은 로그 전달 테이블 및 저장 프로시저를 참조하세요.
하드 드라이브 운송
네트워크를 통한 업로드가 매우 비싸거나 실행 불가능한 상황에서 Windows 가져오기 / 내보내기 서비스 방법을 사용하여 대량의 파일 데이터를 Azure Blob 스토리지로 전송합니다. 이 서비스를 사용하여 해당 데이터가 포함된 하나 이상의 하드 드라이브를 Azure 데이터 센터로 보내서 데이터를 스토리지 계정으로 업로드할 수 있습니다.
Azure Data Studio용 Azure SQL 마이그레이션 확장을 사용하여 마이그레이션(가동 중지 시간 최소화)
Azure Data Studio를 사용하여 최소 가동 중지 마이그레이션을 수행하려면 아래의 상위 단계를 수행합니다. 자세한 단계별 자습서를 보려면 자습서: DMS를 사용하여 SQL Server를 Azure Virtual Machines의 SQL Server로 마이그레이션을 참조하세요.
- Azure Data Studio 및 Azure SQL 마이그레이션 확장을 다운로드하여 설치합니다.
- Azure Data Studio의 확장에서 Azure SQL로 마이그레이션 마법사를 시작합니다.
- 평가할 데이터베이스를 선택하고 마이그레이션 준비 상태 또는 문제(있는 경우)를 확인합니다. 또한 성능 데이터를 수집하고 적절한 크기의 Azure 권장 사항을 가져옵니다.
- 구독에서 Azure 계정 및 Azure Machine의 대상 SQL Server를 선택합니다.
- 데이터베이스 백업의 위치를 선택합니다. 데이터베이스 백업은 온-프레미스 네트워크 공유 또는 Azure Blob Storage 컨테이너에 있습니다.
- Azure Data Studio의 마법사를 사용하여 새 Azure Database Migration Service를 만듭니다. 이전에 Azure Data Studio를 사용하여 Azure Database Migration Service를 만든 경우 원한다면 동일한 것을 다시 사용할 수 있습니다.
- 선택 사항: 백업이 온-프레미스 네트워크 공유에 있는 경우 원본 SQL Server 및 백업 파일이 포함된 위치에 연결할 수 있는 컴퓨터에 자체 호스팅 통합 런타임을 다운로드하여 설치합니다.
- 데이터베이스 마이그레이션을 시작하고 Azure Data Studio에서 진행률을 모니터링합니다. Azure Portal의 Azure Database Migration Service 리소스에서 진행률을 모니터링할 수도 있습니다.
- 컷오버를 완료합니다.
- 원본 데이터베이스로 들어오는 모든 트랜잭션을 중지합니다.
- Azure Virtual Machine의 SQL Server에서 대상 데이터베이스를 가리키도록 애플리케이션 구성을 변경합니다.
- 지정된 백업 위치에 있는 원본 데이터베이스의 모든 비상 로그 백업을 가져옵니다.
- 모니터링 세부 정보 페이지에서 모든 데이터베이스 백업의 상태가 ‘복원됨’인지 확인합니다.
- 모니터링 세부 정보 페이지에서 ‘중단 완료’를 선택합니다.
사용자 데이터베이스 외부에 있는 개체 마이그레이션
마이그레이션 후 사용자 데이터베이스의 원활한 작업을 위해 더 많은 SQL Server 개체가 필요할 수 있습니다.
다음 표는 사용자 데이터베이스 마이그레이션 전후에 완료할 수 있는 구성 요소 및 권장 마이그레이션 방법의 목록을 제공합니다.
기능 | 구성 요소 | 마이그레이션 방법 |
---|---|---|
데이터베이스 | 모델 | SQL Server Management Studio로 스크립트. |
tempdb 데이터베이스 |
최상의 성능을 위해 tempdb 를 Azure VM 임시 디스크(SSD)로 이동하도록 계획합니다.
tempdb 를 수용하기에 충분한 로컬 SSD가 있는 VM 크기를 선택해야 합니다. |
|
FILESTREAM을 사용하는 사용자 데이터베이스 | 마이그레이션에 대한 백업 및 복원 방법을 사용합니다. SQL Server Management Studio의 SQL Server 마이그레이션 구성 요소는 FILESTREAM을 사용하는 데이터베이스를 지원하지 않습니다. | |
보안 | SQL Server 및 Windows 로그인 | SQL Server Management Studio의 SQL Server 마이그레이션 구성 요소를 사용하여 사용자 로그인을 마이그레이션합니다. |
SQL Server 역할 | SQL Server Management Studio로 스크립트. | |
암호화 공급자 | Azure Key Vault를 사용하도록 전환하는 것이 좋습니다. 이 절차에서는 SQL IaaS 에이전트 확장을 사용합니다. | |
서버 개체 | 백업 디바이스 | Azure Backup을 사용하여 데이터베이스 백업으로 바꾸거나 Azure Storage(SQL Server 2012 SP1 CU2 +)에 백업을 작성합니다. 이 절차에서는 SQL IaaS 에이전트 확장을 사용합니다. |
연결된 서버 | SQL Server Management Studio로 스크립트. | |
서버 트리거 | SQL Server Management Studio로 스크립트. | |
복제 | 지역 출판물 | SQL Server Management Studio로 스크립트. |
로컬 구독자 | SQL Server Management Studio로 스크립트. | |
PolyBase | PolyBase | SQL Server Management Studio로 스크립트. |
관리 | 데이터베이스 메일 | SQL Server Management Studio로 스크립트. |
SQL Server 에이전트 | 작업 | SQL Server Management Studio로 스크립트. |
경고 | SQL Server Management Studio로 스크립트. | |
연산자 | SQL Server Management Studio로 스크립트. | |
프록시 | SQL Server Management Studio로 스크립트. | |
운영 체제 | 파일, 파일 공유 | SQL 서버에서 사용되고 Azure Virtual Machines 대상에서 복제하는 다른 파일 또는 파일 공유를 기록합니다. |
마이그레이션 후
마이그레이션 스테이지를 성공적으로 완료한 후에는 모든 것이 최대한 원활하고 효율적으로 작동할 수 있도록 일련의 마이그레이션 후 작업을 완료해야 합니다.
애플리케이션 수정
데이터가 대상 환경으로 마이그레이션된 후 이전에 원본을 사용한 모든 애플리케이션이 대상 사용을 시작해야 합니다. 이 작업을 수행하려면 경우에 따라 애플리케이션을 변경해야 할 수도 있습니다.
SQL Server 마이그레이션 구성 요소에서 권장하는 수정 사항을 사용자 데이터베이스에 적용합니다. 일관성을 보장하고 자동화를 허용하려면 이러한 수정 사항을 스크립팅해야 합니다.
테스트 수행
데이터베이스 마이그레이션의 테스트 접근 방식은 다음 작업으로 구성됩니다.
- 유효성 검사 테스트 개발: 데이터베이스 마이그레이션을 테스트하려면 SQL 쿼리를 사용해야 합니다. 원본 데이터베이스와 대상 데이터베이스 둘 다에서 실행할 유효성 검사 쿼리를 만듭니다. 유효성 검사 쿼리는 정의한 범위를 포함해야 합니다.
- 테스트 환경 설정: 테스트 환경에는 원본 데이터베이스와 대상 데이터베이스의 복사본이 포함되어야 합니다. 테스트 환경을 격리해야 합니다.
- 유효성 검사 테스트 실행: 원본 및 대상에서 유효성 검사 테스트를 실행한 다음, 결과를 분석합니다.
- 성능 테스트 실행: 원본 및 대상에서 성능 테스트를 실행한 다음, 결과를 분석하고 비교합니다.
최적화
마이그레이션 후 단계는 데이터 정확도 문제를 조정하고 완성도를 확인할 뿐만 아니라 워크로드 관련 잠재적 성능 문제를 해결하는 데 매우 중요합니다.
이러한 문제 및 이를 완화하는 단계에 대한 자세한 내용은 다음을 참조하세요.