적용 대상:Azure SQL Managed Instance
이 가이드에서는 사용자의 데이터베이스를 SQL Server에서 Azure SQL Managed Instance로 마이그레이션하는 방법을 알아봅니다.
계속하기 전에 마이그레이션 전 단계를 완료하세요.
마이그레이션
사전 마이그레이션 단계에 대한 단계를 완료한 후 스키마 및 데이터 마이그레이션을 수행할 준비가 된 것입니다.
선택한 마이그레이션 방법을 사용하여 데이터를 마이그레이션합니다.
이 섹션에서는 다음과 같은 권장 마이그레이션 옵션에 대한 일반 마이그레이션 단계를 제공합니다.
- 관리 인스턴스 링크
- Log Replay Service(LRS)
- 네이티브
RESTORE DATABASE FROM URL- SQL Server의 네이티브 백업을 사용하며 약간의 가동 중지 시간이 필요합니다. - 거의 0에 가까운 가동 중지 시간으로 마이그레이션을 제공하는 Azure DMS(Database Migration Service)
- Azure Arc에서 SQL Server 마이그레이션
SQL Managed Instance는 온-프레미스 또는 Azure Virtual Machines의 SQL Server 구현에서 대량 데이터베이스 마이그레이션이 필요한 사용자 시나리오를 대상으로 합니다. 인스턴스 수준 및 데이터베이스 간 기능을 정기적으로 사용하는 애플리케이션의 백 엔드를 리프트 앤 시프트해야 하는 경우 최적의 선택입니다. 이러한 시나리오의 경우 애플리케이션을 다시 구성하지 않고도 Azure에서 전체 인스턴스를 해당 환경으로 이동할 수 있습니다.
SQL Server 인스턴스를 이동하려면 신중하게 계획해야 합니다.
- 배치해야 하는 모든 데이터베이스(같은 인스턴스에서 실행되는 데이터베이스)의 마이그레이션.
- 로그인, 자격 증명, SQL Server 에이전트 작업 및 연산자 및 서버 수준 트리거를 포함하여 애플리케이션이 종속하는 인스턴스 수준 개체의 마이그레이션입니다.
SQL Managed Instance는 기본 제공된 대로 일부 일반 데이터베이스 관리 활동을 플랫폼에 위임할 수 있는 관리 서비스입니다. 따라서 고가용성이 기본 제공되므로 일반 백업 또는 Always On 구성에 대한 유지 관리 작업과 같은 일부 인스턴스 수준 데이터를 마이그레이션할 필요가 없습니다.
데이터베이스 마이그레이션
Azure Arc 인스턴스에서 사용하도록 설정된 SQL Server를 Azure Portal을 통해 직접 Azure SQL Managed Instance로 마이그레이션합니다. 자세한 지침은 SQL Server 인스턴스를 Azure SQL Managed Instance로 마이그레이션을 참조하세요.
데이터베이스 마이그레이션은 마이그레이션 프로세스의 구성, 관리 및 모니터링을 간소화하면서 내부적으로 Managed Instance 링크 또는 LRS(Log Replay Service) 메서드를 사용하여 기본 제공 마이그레이션 환경을 제공합니다.
관리 인스턴스 링크
이 섹션에서는 Managed Instance 링크를 사용하여 가동 중지 시간을 최소화하면서 SQL Server에서 Azure SQL Managed Instance로 마이그레이션하는 고급 단계를 제공합니다. 자세한 지침은 링크를 사용하여 마이그레이션을 참조하세요.
링크를 사용하여 마이그레이션하려면 다음 단계를 수행합니다.
- 대상 SQL 관리되는 인스턴스( Azure Portal, PowerShell, Azure CLI)를 만듭니다.
- 링크를 위한 환경을 준비합니다.
- SSMS 또는 스크립트로 링크를 구성합니다.
- 워크로드를 중지합니다.
- 대상 인스턴스에서 데이터를 확인합니다.
- 링크 장애 조치.
Log Replay Service(LRS)
이 섹션에서는 LRS(Log Replay Service)를 사용하여 가동 중지 시간을 최소화하면서 SQL Server에서 SQL Managed Instance로 마이그레이션하는 대략적인 단계를 제공합니다. 자세한 지침은 로그 재생 서비스를 사용하여 SQL Server에서 데이터베이스 마이그레이션을 검토 하세요.
LRS를 사용하여 마이그레이션하려면 다음 단계를 수행합니다.
- Blob 컨테이너가 있는 Azure Storage 계정을 만듭니다.
- SAS 토큰 또는 관리 ID를 사용하여 Blob Storage 스토리지 계정에 인증하고 액세스의 유효성을 검사합니다.
- 여러 데이터베이스를 마이그레이션하려는 경우 폴더 구조를 올바르게 구성해야 합니다.
- 백업을 복사하거나 BACKUP TO URL을 사용하여 직접 백업을 가져와서 스토리지 계정에 백업을 업로드합니다.
- 자동 완성 또는 연속 모드 중 LRS를 실행할 모드를 결정합니다.
- LRS를 시작합니다.
- 마이그레이션 진행률을 모니터링합니다.
- 마이그레이션을 완료합니다(연속 모드인 경우).
백업 및 복구
SQL Managed Instance의 주요 기능은 .bak에 저장된 데이터베이스 백업() 파일을 기본적으로 복원하는 기능입니다. 이 기능을 사용하면 데이터베이스 마이그레이션이 간단해집니다. 백업 및 복원은 데이터베이스 크기에 따라 비동기 작업입니다.
다음 다이어그램은 프로세스의 상위 수준 개요를 제공합니다.
참고
백업을 수행하고, Azure Storage에 업로드하고, SQL Managed Instance에 대한 네이티브 복원 작업을 수행하는 시간은 데이터베이스의 크기에 따라 달라집니다. 대규모 데이터베이스에 대한 작업을 수용하기에 충분한 가동 중지 시간을 고려합니다.
다음 표에서는 실행 중인 원본 SQL Server 버전에 따라 사용할 수 있는 메서드에 대한 자세한 정보를 제공합니다.
| 단계 | SQL 엔진 및 버전 | 백업/복원 방법 |
|---|---|---|
| Azure Storage에 백업 저장 | 2012년 이전 서비스 팩 1 CU2 | Azure Storage에 .bak 파일 직접 업로드 |
| 2012 SP1 CU2~2016 | 사용되지 않는 WITH CREDENTIAL 구문을 사용하여 직접 백업 | |
| 2016 이상 버전 | WITH SAS CREDENTIAL 구문을 사용하여 직접 백업 | |
| Azure Storage에서 관리형 인스턴스로 복원 | SAS CREDENTIAL을 사용하여 URL에서 복원 |
중요
네이티브 복원 옵션을 사용하여 TDE(투명한 데이터 암호화) 로 보호된 데이터베이스를 SQL 관리형 인스턴스로 마이그레이션하는 경우 데이터베이스를 복원하기 전에 SQL Server 인스턴스(온-프레미스 또는 Azure VM의 SQL Server)에서 해당 인증서를 마이그레이션해야 합니다. 자세한 내용은 TDE로 보호된 데이터베이스의 인증서를 Azure SQL Managed Instance로 마이그레이션을 참조하세요.
시스템 데이터베이스 복원은 지원되지 않습니다. 인스턴스 수준 개체(또는 데이터베이스에 mastermsdb 저장됨)를 마이그레이션하려면 해당 개체를 스크립팅하고 대상 인스턴스에서 T-SQL(Transact-SQL) 스크립트를 실행합니다.
백업 및 복원을 사용하여 마이그레이션하려면 다음 단계를 수행합니다.
Azure Blob Storage에 데이터베이스를 백업합니다. 예를 들어, SQL Server Management Studio에서 URL로 백업을 사용합니다. Microsoft Azure 도구를 사용하여 서비스 팩 1 CU2에서 SQL Server 2012 이전 버전의 데이터베이스를 지원합니다.
SSMS(SQL Server Management Studio)를 사용하여 SQL 관리형 인스턴스에 연결합니다.
데이터베이스 백업을 통해 Azure Blob Storage 계정에 액세스하기 위해 공유 액세스 서명을 사용하여 자격 증명을 만듭니다. 예를 들면 다음과 같습니다.
CREATE CREDENTIAL [https://mitutorials.blob.core.windows.net/databases] WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = '<secret>'Azure Storage Blob 컨테이너에서 백업을 복원합니다. 예를 들면 다음과 같습니다.
RESTORE DATABASE [TargetDatabaseName] FROM URL = 'https://mitutorials.blob.core.windows.net/databases/WideWorldImporters-Standard.bak'복원이 완료되면 SSMS 내 의 개체 탐색기 에서 데이터베이스를 봅니다.
이 마이그레이션에 대해 자세히 알아보려면 빠른 시작: SSMS를 사용하여 Azure SQL Managed Instance로 데이터베이스 복원을 참조하세요.
참고
데이터베이스 복원 작업은 비동기적이며 다시 시도할 수 있습니다. 연결이 끊어지거나 시간 제한이 만료되면 SSMS에서 오류가 발생할 수 있습니다. Azure SQL Database는 백그라운드에서 데이터베이스를 복원하려고 계속 시도하며 sys.dm_exec_requests 및 sys.dm_operation_status 보기를 사용하여 복원 진행률을 추적할 수 있습니다.
Azure DMS(Azure Database Migration Service)
이 섹션에서는 Azure DMS를 사용하여 가동 중지 시간을 최소화하면서 SQL Server에서 SQL Managed Instance로 마이그레이션하는 대략적인 단계를 제공합니다. 자세한 내용은 자습서: SQL Server를 Azure SQL Managed Instance로 온라인 마이그레이션을 참조하세요.
Azure Portal에서 DMS를 사용하여 마이그레이션하려면 다음 단계를 수행합니다.
Azure Portal을 엽니다.
Azure DMS를 열고 이미 만든 경우 DMS 인스턴스를 선택하거나 새 인스턴스를 만듭니다.
DMS 인스턴스 대시보드에서 마이그레이션 시작을 선택하고, 원본 서버 유형을 선택하고, 대상 서버 유형을 Azure SQL Managed Instance로 설정하고, 마이그레이션 백업 파일 스토리지 위치 및 마이그레이션 모드를 선택합니다.
Azure에 대한 원본 SQL Server 추적 세부 정보(예: 구독, 리소스 그룹, 위치 및 SQL Server 인스턴스 이름)를 제공합니다. 이 단계에서는 Azure Arc에서 사용하도록 설정된 SQL Server 인스턴스를 만듭니다.
대상 구독 및 리소스 그룹을 제공한 다음 대상 SQL 관리되는 인스턴스를 선택합니다.
리소스 그룹, 스토리지 계정, Blob 컨테이너, 폴더, 마지막 백업 파일(오프라인 마이그레이션 모드용) 및 대상 데이터베이스와 같은 백업 위치 세부 정보를 제공합니다.
선택 사항: 백업이 온-프레미스 네트워크 공유에 있는 경우, 원본 SQL Server 및 백업 파일이 포함된 위치에 연결할 수 있는 컴퓨터에 자체 호스팅 통합 런타임을 다운로드하여 설치합니다.
연결하려면 원본 SQL Server 인스턴스 세부 정보 및 자격 증명을 제공해야 할 수 있습니다.
또한 백업 파일이 보관되는 네트워크 SMB 파일 공유의 데이터베이스 및 위치와 연결할 자격 증명을 선택합니다.
데이터베이스 마이그레이션을 시작하고 DMS 인스턴스 모니터링 대시보드에서 Azure Portal의 진행률을 모니터링합니다.
컷오버를 완료합니다.
원본 데이터베이스로 들어오는 모든 트랜잭션을 중지합니다.
Azure SQL Managed Instance에서 대상 데이터베이스를 가리키도록 애플리케이션 구성을 변경합니다.
지정한 백업 위치에서 원본 데이터베이스에 대한 비상 로그 백업을 수행합니다.
모니터링 세부 정보 페이지에서 모든 데이터베이스 백업의 상태가 ‘복원됨’인지 확인합니다.
모니터링 세부 정보 페이지에서 ‘중단 완료’를 선택합니다.
자세한 지침은 자습서: DMS를 사용하여 SQL Server를 Azure SQL Managed Instance로 마이그레이션을 참조하세요.
Azure Data Studio에서 DMS를 사용하여 마이그레이션하려면 다음 단계를 수행합니다.
Azure Data Studio 다운로드 및 설치와 Azure Data Studio용 Azure SQL 마이그레이션 확장을 다운로드 및 설치합니다.
Azure Data Studio의 확장에서 Azure SQL 마이그레이션으로 마이그레이션 마법사를 시작합니다.
평가할 데이터베이스를 선택하고 마이그레이션 준비 상태 또는 문제(있는 경우)를 확인합니다. 또한 성능 데이터를 수집하고 적절한 크기의 Azure 권장 사항을 가져옵니다.
구독에서 Azure 계정 및 대상 Azure SQL 관리형 인스턴스를 선택합니다.
데이터베이스 백업의 위치를 선택합니다. 데이터베이스 백업은 온-프레미스 네트워크 공유 또는 Azure Blob Storage 컨테이너에 있습니다.
Azure Data Studio에서 마법사를 사용하여 새 Azure DMS 인스턴스를 만듭니다. 이전에 Azure Data Studio를 사용하여 DMS 인스턴스를 만든 경우 원하는 경우 동일한 인스턴스를 다시 사용할 수 있습니다.
선택 사항: 백업이 온-프레미스 네트워크 공유에 있는 경우 원본 SQL Server 인스턴스에 연결할 수 있는 컴퓨터와 백업 파일이 포함된 위치에 자체 호스팅 통합 런타임 을 다운로드하여 설치합니다.
데이터베이스 마이그레이션을 시작하고 Azure Data Studio에서 진행률을 모니터링합니다. Azure Portal의 DMS 리소스에서 진행률을 모니터링할 수도 있습니다.
컷오버를 완료합니다.
원본 데이터베이스로 들어오는 모든 트랜잭션을 중지합니다.
Azure SQL Managed Instance에서 대상 데이터베이스를 가리키도록 애플리케이션 구성을 변경합니다.
지정한 백업 위치에서 원본 데이터베이스에 대한 비상 로그 백업을 수행합니다.
모니터링 세부 정보 페이지에서 모든 데이터베이스 백업의 상태가 ‘복원됨’인지 확인합니다.
모니터링 세부 정보 페이지에서 ‘중단 완료’를 선택합니다.
Azure Arc에서 SQL Server 마이그레이션
Azure Arc에서 사용하도록 설정된 SQL Server 인스턴스를 Azure Portal을 통해 SQL Managed Instance로 마이그레이션합니다. SQL Managed Instance는 리프트 앤 시프트 마이그레이션을 위한 완전 관리형 PaaS 솔루션을 제공합니다. 프로세스에는 준비 상태 평가, 대상 선택, 데이터 마이그레이션 및 진행 상황 모니터링이 포함됩니다.
다음 두 가지 통합 메서드를 사용할 수 있습니다.
가동 중지 시간을 최소화하면서 거의 실시간으로 복제할 수 있는 Managed Instance 링크
연속 백업 및 복원을 위한 Log Replay Service입니다.
Microsoft Copilot는 마이그레이션 내내 지원합니다. 마이그레이션은 SQL Server 2012 이상 버전을 지원하며 대부분의 단계를 자동화합니다.
자세한 내용은 Azure Arc에서 Azure SQL Managed Instance - SQL Server 마이그레이션으로 마이그레이션을 참조하세요.
데이터 동기화 및 전환
원본에서 대상으로 데이터 변경 내용을 지속적으로 복제하거나 동기화하는 마이그레이션 옵션을 사용하는 경우 원본 데이터 및 스키마가 대상에서 변경 및 드리프트할 수 있습니다. 데이터 동기화 중에 마이그레이션 프로세스가 원본의 모든 변경 내용을 캡처하고 대상에 적용하는지 확인합니다.
원본과 대상의 데이터가 모두 동일한지 확인한 후 원본에서 대상 환경으로 전환할 수 있습니다. 전환 중단을 최소화하고 비즈니스 연속성에 영향을 미치지 않도록 비즈니스 및 애플리케이션 팀과 함께 전환 프로세스를 계획합니다.
중요
DMS를 사용하는 마이그레이션의 일부로 중단을 수행하는 것과 관련된 특정 단계에 대한 자세한 내용은 마이그레이션 중단 수행을 참조하세요.
이주 후 상태
마이그레이션 단계를 성공적으로 완료한 후 모든 것이 원활하고 효율적으로 작동하게 하려면 일련의 마이그레이션 후 작업을 수행해야 합니다.
마이그레이션 후 단계는 데이터 정확도 문제를 조정하고 완성도를 확인할 뿐만 아니라 워크로드 관련 성능 문제를 해결하는 데 매우 중요합니다.
애플리케이션 모니터링 및 수정
SQL 관리형 인스턴스로 마이그레이션한 후 워크로드의 애플리케이션 동작 및 성능을 추적합니다. 이 프로세스에는 다음 작업이 포함됩니다.
- 관리형 인스턴스에서 실행 중인 워크로드의 성능을원본 SQL Server 인스턴스에서 만든 성능 기준과 비교합니다.
- 워크로드의 성능을 지속적으로 모니터링하여 잠재적인 문제 및 개선 사항을 식별합니다.
테스트 수행
데이터베이스 마이그레이션의 테스트 접근 방식은 다음 작업으로 구성됩니다.
유효성 검사 테스트 개발: 데이터베이스 마이그레이션을 테스트하려면 T-SQL 쿼리를 사용합니다. 원본 데이터베이스와 대상 데이터베이스에 대해 실행할 유효성 검사 쿼리를 만듭니다. 정의된 범위가 유효성 검사 쿼리에 포함되어야 합니다.
테스트 환경 설정: 테스트 환경에는 원본 데이터베이스와 대상 데이터베이스의 복사본이 포함되어야 합니다. 테스트 환경을 격리해야 합니다.
유효성 검사 테스트 실행: 원본 및 대상에 대한 유효성 검사 테스트를 실행한 다음 결과를 분석합니다.
성능 테스트 실행: 원본 및 대상에 대해 성능 테스트를 실행한 다음 결과를 분석하고 비교합니다.
고급 기능 사용
기본 제공 고가용성, 위협 검색, 워크로드 모니터링 및 튜닝과 같은 SQL Managed Instance에서 제공하는 고급 클라우드 기반 기능을 활용합니다.
Azure SQL Analytics 를 사용하면 중앙 집중식 방식으로 대규모 SQL 관리형 인스턴스 집합을 모니터링할 수 있습니다.
일부 SQL Server 기능은 데이터베이스 호환성 수준을 최신 호환성 수준으로 변경하는 경우에만 사용할 수 있습니다.
관련 콘텐츠
- 데이터 마이그레이션 시나리오에 사용할 수 있는 서비스 및 도구
- Azure SQL Managed Instance의 서비스 계층
- SQL Server와 Azure SQL Managed Instance 간의 T-SQL 차이점
- Azure Data Studio용 Azure SQL 마이그레이션 확장을 사용하여 데이터베이스 마이그레이션
- 자습서: DMS를 사용하여 Azure SQL Managed Instance로 SQL Server 마이그레이션
- Azure용 클라우드 채택 프레임워크
- Azure로 마이그레이션된 워크로드의 비용 계산 및 크기 조정 모범 사례