데이터베이스 복사 또는 이동 - Azure SQL Managed Instance

적용 대상:Azure SQL Managed Instance

이 문서에서는 Azure SQL Managed Instance의 인스턴스 간에 데이터베이스를 온라인으로 복사하거나 이동하는 방법을 설명합니다. 데이터베이스 복사 및 이동 작업은 모두 동일한 Azure 테넌트 내에 있는 여러 Azure 구독에서 지원됩니다.

개요

Always On 가용성 그룹 기술을 사용하여 관리되는 인스턴스 간에 데이터베이스의 온라인 복사 또는 이동 작업을 수행할 수 있습니다. 복사 및 이동 기능은 대상 인스턴스에 원본 데이터베이스의 복사본으로 새 데이터베이스를 만듭니다. 이 기능을 사용하면 데이터 복제가 안정적이고 일관되며 비동기적이고 거의 실시간으로 수행됩니다.

데이터베이스를 복사할 때 원본 데이터베이스는 작업 중 및 완료된 후에도 온라인 상태로 유지됩니다.

반대로 데이터베이스를 이동하면 작업이 완료된 후 원본 데이터베이스가 삭제됩니다.

여러 데이터베이스 복사를 실행하고 원본 관리형 인스턴스에서 하나 이상의 대상 인스턴스로 작업을 이동할 수 있습니다.

데이터베이스 복사 및 이동은 작업이 완료된 후 데이터베이스의 복사본을 만들기 때문에 PITR(지정 시간 복원)과 다릅니다. PITR은 과거의 지정된 시점에서 데이터베이스 복사본을 만듭니다.

중요

데이터베이스를 새 대상으로 이동하면 기존 PITR 백업이 데이터베이스와 함께 이동하지 않으며 사용할 수 없습니다. 데이터베이스는 이동 작업이 완료되는 순간 대상 인스턴스에서 새 백업 체인을 시작합니다.

기능을 사용하는 경우

데이터베이스 이동 또는 복사는 다음을 수행하려는 경우에 유용합니다.

  • 데이터베이스 증가 및 성능 요구 사항을 관리합니다.
  • 여러 관리되는 인스턴스에서 워크로드의 균형을 조정합니다.
  • 워크로드를 처리하기 위해 사용 가능한 리소스가 더 많은 인스턴스로 데이터베이스를 이동합니다.
  • 여러 개의 인스턴스에서 여러 데이터베이스를 통합합니다.
  • 개발, 테스트 및 프로덕션 환경 간에 데이터베이스 패리티를 만듭니다.

워크플로

데이터베이스를 복사하거나 이동하는 워크플로는 다음과 같습니다.

  1. 데이터베이스, 원본 관리형 인스턴스 및 대상 인스턴스를 선택한 다음, 작업을 시작합니다.

    데이터베이스는 대상 서버에 시드됩니다. 상태를 확인하여 작업이 진행 중인지 또는 성공했는지 여부를 확인합니다.

  2. 시드가 완료되면 작업 상태가 완료 준비가 된 것으로 표시됩니다.

    작업이 수동으로 완료될 때까지 원본 데이터베이스에 발생하는 모든 변경 내용이 대상 데이터베이스에 적용됩니다. 언제든지 작업을 취소할 수 있습니다. 작업을 명시적으로 완료하는 데 24시간이 걸립니다. 24시간 이내에 작업을 완료하지 않으면 작업이 자동으로 취소되고 대상 데이터베이스가 삭제됩니다.

  3. 작업을 수동으로 완료하면 대상 데이터베이스가 온라인 상태가 되어 읽기/쓰기 워크로드가 준비됩니다.

  4. 데이터베이스를 이동하도록 선택한 경우 원본 데이터베이스가 삭제됩니다. 데이터베이스를 복사하도록 선택한 경우 원본 데이터베이스는 온라인 상태로 유지되지만 데이터 동기화는 중지됩니다.

이동 작업에 대한 예제 워크플로는 다음 다이어그램에 나와 있습니다.

Diagram that illustrates the workflow of a move operation.

데이터베이스 이동 작업의 디자인은 데이터 손실이 없도록 보장합니다. 사용자가 이동 작업을 완료하면 원본 데이터베이스가 워크로드 수락을 중지하고 트랜잭션이 목적지 데이터베이스로 복제됩니다. 그런 다음에만 목적지 데이터베이스가 온라인 상태가 되고 원본 데이터베이스가 삭제됩니다. 이 디자인에서는 원본 데이터베이스의 모든 데이터가 목적지 데이터베이스로 이동됩니다.

데이터베이스 복사 작업은 데이터베이스 이동과 유사합니다. 유일한 중요한 차이점은 작업이 종료되는 방식입니다. 데이터베이스 복사 작업을 완료하면 목적지 데이터베이스에 대한 트랜잭션 로그의 복제가 중지됩니다. 사용자가 복사 작업을 완료하기 위해 명령을 명시적으로 실행하지만 로그 복제가 중지되는 정확한 순간을 제어하지는 않습니다. 마지막으로 원본 데이터베이스와 목적지 데이터베이스는 모두 온라인이고 독립적이며 읽기/쓰기 워크로드를 실행할 준비가 된 상태입니다.

필수 조건

데이터베이스를 복사하거나 이동하려면 먼저 다음 요구 사항을 충족해야 합니다.

  • 원본 관리형 인스턴스를 포함하는 리소스 그룹에 대한 읽기 권한이 있어야 하며 원본 인스턴스와 대상 인스턴스 모두에 대한 데이터베이스 수준에서 쓰기 권한이 있어야 합니다.
  • 원본 및 대상 인스턴스가 서로 다른 가상 네트워크에 있는 경우 Azure 가상 네트워크 피어링과 같이 두 인스턴스의 가상 네트워크 간에 네트워크 연결이 있어야 합니다. 또한 포트 5022 및 포트 범위 11000~11999의 인바운드 및 아웃바운드 트래픽이 TCP 프로토콜에서 허용되어야 합니다. 이는 원본 및 목적지 인스턴스를 호스트하는 서브넷 모두에 적용됩니다. 다른 Azure VNet의 인스턴스 간에 네트워크 연결을 설정하는 방법에 대한 설명서는 다음과 같습니다.

데이터베이스 복사 또는 이동

Azure Portal을 사용하여 데이터베이스를 복사하거나 다른 관리되는 인스턴스로 이동할 수 있습니다. 이를 수행하려면:

  1. Azure Portal에서 관리되는 인스턴스로 이동합니다.

  2. 데이터 관리에서 데이터베이스를 선택합니다.

  3. 하나 이상의 데이터베이스를 선택한 다음, 창 위쪽에서 복사 또는 이동 옵션을 선택합니다.

    이동을 선택하면 작업이 완료될 때 원본 데이터베이스가 삭제되고 복사를 선택하면 작업이 완료될 때 원본 데이터베이스가 온라인 상태로 유지됩니다. 옵션 중 하나를 선택하면 Managed Database 이동 또는 Managed Database 복사 페이지가 열립니다. 페이지가 열리면 작업에 포함할 추가 데이터베이스를 선택할 수 있습니다.

    Screenshot of the 'Databases' page for Azure SQL Managed Instance, with the 'Move' and 'Copy' options highlighted.

  4. 원본 세부 정보 창에서 원본 데이터베이스 및 관리되는 인스턴스에 대한 세부 정보를 제공합니다.

  5. 대상 세부 정보 창에서 대상 관리형 인스턴스에 대한 세부 정보를 제공합니다.

  6. 검토 + 시작을 선택하여 원본 및 대상 세부 정보의 유효성을 검사한 다음, 시작을 선택하여 작업을 시작합니다.

    시작을 선택하면 작업의 진행률을 모니터링할 수 있는 인스턴스의 데이터베이스 페이지로 돌아갑니다.

  7. 데이터베이스 페이지에서 작업 세부 정보 열을 확인하여 작업 상태가 이동 진행 중 또는 복사 진행 중인지 확인합니다.

    취소해야 하는 경우 진행 중을 선택하고 작업 중인 데이터베이스를 선택한 다음, 작업 취소를 선택하여 시드를 중지하고 대상 데이터베이스를 삭제합니다.

    Screenshot of the 'Databases' page for Azure SQL Managed Instance, showing that a copy operation is in progress.

  8. 작업을 모니터링합니다. 시드가 완료되면 작업 세부 정보 열에 이동 완료 준비 또는 복사 완료 준비의 상태가 표시됩니다.

  9. 완료 준비를 선택하여 작업 세부 정보 열을 열고 복사하거나 이동할 준비가 된 데이터베이스를 선택한 다음, 완료를 선택하여 작업을 완료하고 대상 데이터베이스를 온라인 상태로 전환합니다.

    원본 데이터베이스에 대한 변경 내용은 완료를 선택할 때까지 이 시간 동안 대상 데이터베이스에 복제됩니다. 24시간 이내에 작업을 완료하지 않으면 작업이 자동으로 취소되고 대상 데이터베이스가 삭제됩니다. 완료를 선택하면 작업이 완료되고 작업이 완료되었는지 확인할 수 있는 데이터베이스 페이지로 돌아갑니다.

    데이터베이스를 이동한 경우 현재 오프라인 상태이므로 데이터베이스 이름을 사용할 수 없습니다.

복사 및 이동 작업의 성능

데이터베이스 복사 및 이동 작업에는 두 단계가 있습니다. 첫 번째는 초기 시드이고 두 번째 시드는 원본 데이터베이스에서 목적지 데이터베이스로의 변경 내용의 복제입니다. 일반적으로 초기 시드는 더 까다로운 작업 단계입니다. 초기 시드가 완료되는 데 걸리는 시간은 데이터의 크기와 활성 복사본 또는 이동 작업의 수에 따라 달라집니다. 원본 및 목적지 Azure SQL Managed Instance에서 발생하는 워크로드의 강도와 원본 및 목적지 사이의 네트워크 속도도 시드 속도에 영향을 줍니다. 최적의 상황에서 권장되는 글로벌 VNet 피어링을 사용하여 원본과 목적지 사이에서 연결이 설정된 경우 시드 속도는 시간당 최대 360GB입니다. 시드 프로세스 및 해당 속도는 DMV sys.dm_hadr_physical_seeding_stats를 통해 모니터링할 수 있습니다.

SELECT 
	role_desc,
	transfer_rate_bytes_per_second,
	transferred_size_bytes,
	database_size_bytes,
	start_time_utc,
	estimate_time_complete_utc,
	end_time_utc,
	local_physical_seeding_id
FROM
	sys.dm_hadr_physical_seeding_stats;

제한 사항

복사 및 이동 기능의 다음 제한 사항을 고려합니다.

  • 원본 인스턴스와 대상 인스턴스는 동일할 수 없습니다.
  • 원본 인스턴스와 목적지 인스턴스는 모두 동일한 Azure 지역에 있어야 합니다.
  • 사용자 데이터베이스만 복사하고 이동할 수 있습니다. 시스템 데이터베이스 복사 및 이동은 지원되지 않습니다.
  • 데이터베이스는 한 번에 하나의 이동 또는 복사 작업에만 참여할 수 있습니다.
  • 원본 인스턴스는 한 번에 최대 8개의 복사 또는 이동 작업을 실행할 수 있습니다. 8개가 넘는 작업을 시작할 수 있지만 일부는 서비스에서 관리하는 대로 큐에 대기하고 나중에 처리됩니다.
  • 복사 또는 이동 작업 중에는 데이터베이스 이름을 바꿀 수 없습니다.
  • 데이터베이스 태그는 복사 또는 이동 작업에서 복사되지 않습니다.
  • 데이터베이스 복사 및 이동 작업은 PITR 백업을 복사하거나 이동하지 않습니다.
  • 장애 조치(failover) 그룹의 일부이거나 Managed Instance 링크를 사용하는 데이터베이스를 복사하거나 이동할 수 없습니다.
  • 원본 또는 목적지 관리형 인스턴스가 장애 조치(failover) 그룹(지리적 재해 복구) 설정으로 구성되지 않아야 합니다.
  • 이러한 기능을 사용하는 데이터베이스를 이동한 후에는 트랜잭션 복제, CDC(변경 데이터 캡처) 또는 분산 트랜잭션을 다시 구성해야 합니다.

데이터베이스 복사 및 이동과 관련된 추가 설명서입니다.

다른 데이터 이동 옵션은 다음을 검토하세요.