Azure SQL Managed Instance 백업에서 데이터베이스 복원

적용 대상:Azure SQL Managed Instance

이 문서에서는 Azure SQL Managed Instance 백업에서 데이터베이스를 복구하는 단계를 제공합니다. Azure SQL 데이터베이스의 경우 Azure SQL 데이터베이스 백업에서 데이터베이스 복원을 참조하세요.

개요

자동 데이터베이스 백업은 사용자 및 애플리케이션 오류, 우발적인 데이터베이스 삭제, 장시간의 가동 중단으로부터 데이터베이스를 보호합니다. 이 기본 제공 기능은 모든 서비스 계층 및 컴퓨팅 크기에 사용할 수 있습니다. 다음 옵션은 자동화된 백업을 통한 데이터베이스 복구에 사용할 수 있습니다.

  • 동일한 관리형 인스턴스에 보존 기간 내의 지정된 시점으로 복구된 새 데이터베이스를 만듭니다.
  • 동일한 관리형 인스턴스 또는 다른 관리형 인스턴스에 보존 기간 내의 지정된 시점으로 복구된 새 데이터베이스를 만듭니다.
  • 동일한 관리형 인스턴스 또는 다른 관리형 인스턴스에 삭제된 데이터베이스의 삭제 시간으로 복구된 데이터베이스를 만듭니다.
  • 가장 최근의 백업 지점으로 복구된, 동일한 구독이나 동일한 테넌트 및 동일한 지역의 다른 구독에 있는 모든 관리형 인스턴스에 새 데이터베이스를 만듭니다.

LTR(장기 보존)을 구성한 경우 모든 인스턴스의 장기 보존 백업에서 새 데이터베이스를 만들 수도 있습니다.

중요

복원하는 동안 기존 데이터베이스를 덮어쓸 수는 없습니다.

복구 시간

자동화된 데이터베이스 백업을 통해 데이터베이스를 복원하는 복구 시간에 영향을 미치는 요인은 다음과 같습니다.

  • 데이터베이스의 크기
  • 데이터베이스의 컴퓨팅 크기
  • 관련된 트랜잭션 로그의 수
  • 복원 지점으로 복구하기 위해 재생해야 하는 작업의 양
  • 다른 지역으로 복원되는 경우의 네트워크 대역폭
  • 대상 지역에서 처리되는 동시 복원 요청 개수

규모가 크거나 처리량이 매우 많은 데이터베이스의 경우 복원에 몇 시간이 걸릴 수 있습니다. 한 지역에서 장시간 가동 중단이 발생한 경우 재해 복구를 위해 많은 수의 지역 복원 요청이 발생할 수 있습니다. 많은 요청이 있는 경우 개별 데이터베이스에 대한 복구 시간이 늘어날 수 있습니다. 대부분의 데이터베이스 복원은 12시간 이내에 완료됩니다.

Azure SQL Managed Instance의 경우 시스템 업데이트는 진행 중인 데이터베이스 복원보다 우선합니다. SQL Managed Instance에 대한 시스템 업데이트가 있는 경우 보류 중인 모든 복원이 일시 중단된 다음 업데이트가 적용되면 다시 시작됩니다. 이 시스템 동작은 복원 시간이 길어질 수 있으며 특히 장기 실행 복원에 영향을 미칠 수 있습니다.

데이터베이스 복원의 예측 가능한 시간을 달성하려면 특정 날짜 및 시간에 시스템 업데이트를 예약할 수 있도록 유지 관리 기간을 구성하는 것이 좋습니다. 또한 예약된 유지 관리 기간이 아닌 때에 데이터베이스 복원을 실행하는 것이 좋습니다.

사용 권한

자동화된 백업을 사용하여 복구하려면 다음 중 하나여야 합니다.

  • 구독 중인 SQL Server 참여자 역할이나 SQL Managed Instance 참여자 역할의 멤버
  • 구독 소유자

자세한 내용은 Azure RBAC: 기본 제공 역할을 참조하세요.

Azure Portal, PowerShell 또는 REST API를 사용하여 복구할 수 있습니다. Transact-SQL은 사용할 수 없습니다.

지정 시간 복원

데이터베이스를 이전 시점으로 복원할 수 있습니다. 요청은 복원된 데이터베이스에 대한 서비스 계층 또는 컴퓨팅 크기를 지정할 수 있습니다. 인스턴스에 데이터베이스를 복원하기에 충분한 리소스가 있는지 확인합니다.

복원이 완료되면 동일한 인스턴스이든 다른 인스턴스이든 대상 인스턴스에 새 데이터베이스를 만듭니다. 복원된 데이터베이스는 서비스 계층 및 컴퓨팅 크기에 따라 정상 요금이 청구됩니다. 데이터베이스 복원이 완료될 때까지 요금이 발생하지 않습니다.

일반적으로 복구를 위해 이전 지점까지 데이터베이스를 복원합니다. 원본 데이터베이스에 대한 대체로 복원된 데이터베이스를 처리하거나 원래 데이터베이스를 업데이트하기 위한 데이터 원본으로 사용할 수 있습니다.

중요

지역 보조 데이터베이스에서는 지정 시간 복원을 수행할 수 없습니다. 주 데이터베이스에서만 수행할 수 있습니다.

  • 데이터베이스 교체

    복원된 데이터베이스를 원래 데이터베이스에 대한 대체로 만들려면 원래 데이터베이스의 컴퓨팅 크기와 서비스 계층을 지정해야 합니다. 그런 다음, 원본 데이터베이스의 이름을 바꿀 수 있으며 T-SQL에서 ALTER DATABASE 명령을 사용하여 복원된 데이터베이스에 원래 이름을 제공할 수 있습니다.

  • 데이터 복구

    복원된 데이터베이스에서 데이터를 가져와 사용자 또는 애플리케이션 오류로부터 복구하려면 복원된 데이터베이스에서 데이터를 추출하는 데이터 복구 스크립트를 작성하여 실행하고 원본 데이터베이스에 적용해야 합니다. 복원 작업을 완료하는 데 긴 시간이 걸리지만 복원 중인 데이터베이스가 복원 과정 내내 데이터베이스 목록에 표시됩니다.

    복원 중에 데이터베이스를 삭제하면 복원 작업이 취소됩니다. 복원을 완료하지 않은 데이터베이스에는 요금이 청구되지 않습니다.

Azure Portal을 사용하여 SQL Managed Instance 데이터베이스를 특정 시점으로 복구하려면 포털에서 데이터베이스로 이동하고 복원을 클릭하면 됩니다. 또는 대상 SQL Managed Instance 개요 페이지를 열고 툴바에서 + 새 데이터베이스를 선택하여 Azure SQL Managed Database 만들기 페이지를 열면 됩니다.

새 데이터베이스 추가가 선택된 Azure Portal의 SQL Managed Instance 개요 창을 보여주는 스크린샷.

기본 탭에서 대상 Managed Instance 세부 정보를 입력하고 데이터 원본 탭에서 백업 형식을 선택합니다.

특정 시간 복원이 선택된 Azure SQL Managed Database 만들기 페이지의 데이터 원본 탭을 보여주는 Azure Portal의 스크린샷.

자세한 내용은 특정 시점 복원 문서를 검토하세요.

삭제된 데이터베이스 복원

삭제된 데이터베이스를 동일한 서버나 원본 인스턴스와는 다른 인스턴스의 삭제 시간 또는 이전 시점으로 복원할 수 있습니다. 대상 인스턴스는 동일한 구독 또는 원본 인스턴스와는 다른 구독에 있을 수 있습니다. 백업에서 새 데이터베이스를 만들어 삭제된 데이터베이스를 복원합니다.

중요

관리형 인스턴스가 삭제되면 복원할 수 없습니다. 관리형 인스턴스를 삭제하면 모든 해당 데이터베이스도 삭제되고 삭제 시간 또는 이전 시점으로 복원할 수 없습니다. LTR(장기 보존)을 구성한 경우 데이터베이스를 삭제된 인스턴스에서 다른 인스턴스로, 그리고 LTR 백업이 수행된 시점으로 계속 복원할 수 있습니다.

Azure Portal을 사용하여 데이터베이스를 복구하려면 관리형 인스턴스 개요 페이지를 열고 백업을 선택합니다. 삭제된 백업을 표시하도록 선택한 다음, 복구하려는 삭제된 백업 옆에 있는 복원을 선택하여 Azure SQL 관리형 데이터베이스 만들기 페이지를 엽니다. 기본 사항 탭에서 대상 관리형 인스턴스 세부 정보를 지정하고 데이터 원본 탭에서 원본 관리형 인스턴스 세부 정보를 제공합니다. 추가 설정 탭에서 보존 설정을 구성합니다.

삭제된 데이터베이스를 표시하고 복원 작업이 선택된 Azure Portal, SQL Managed Instance 백업 페이지의 스크린샷.

최근에 삭제된 데이터베이스가 Azure Portal의 삭제된 데이터베이스 페이지에 나타나거나 명령줄을 사용하여 삭제된 데이터베이스를 표시하려는 경우 몇 분 정도 걸릴 수 있습니다.

지역 복원

중요

  • 지역 복원은 지역 중복 백업 스토리지가 구성된 관리형 인스턴스에만 사용할 수 있습니다. 현재 데이터베이스에 대해 지역 복제 백업을 사용하지 않는 경우 백업 스토리지 중복 구성을 통해 이를 변경할 수 있습니다.
  • 동일한 구독에만 상주하는 관리형 인스턴스에서 지역 복원을 수행할 수 있습니다.

지리적 복원은 호스팅 지역에 인시던트가 발생하여 데이터베이스를 사용할 수 없게 되었을 때를 위한 기본 복구 옵션입니다. 다른 지역의 인스턴스에 데이터베이스를 복원할 수 있습니다. 가장 최근의 지역 복제 백업에서 Azure 지역에 있는 관리형 인스턴스의 데이터베이스를 복원할 수 있습니다. 지리적 복원에서는 지역에서 복제된 백업을 원본으로 사용합니다. 지리적 복원은 가동 중단으로 인해 데이터베이스 또는 데이터 센터에 액세스할 수 없는 경우에도 요청할 수 있습니다.

백업을 만들 때와 다른 지역에 있는 Azure Blob으로 지역 복제하는 사이에 지연이 있습니다. 따라서 복원된 데이터베이스는 원본 데이터베이스보다 최대 1시간 늦을 수 있습니다. 다음 일러스트레이션에서는 다른 지역에서 마지막으로 사용할 수 있는 백업에서의 데이터베이스 복원을 보여줍니다.

지역 복원을 위해 여러 지역에서 데이터베이스를 복원하는 일러스트레이션

Azure Portal에서 지역에서 복제된 백업을 기존 인스턴스로 복원하거나 새 관리형 인스턴스를 만들고 사용 가능한 지역 복원 백업을 선택할 수 있습니다. 새로 만든 데이터베이스는 지리적 복원 백업 데이터를 포함합니다.

기존 인스턴스로 복원하려면 지정 시간 복원의 단계를 수행하고 적절한 원본 및 대상 인스턴스를 선택하여 데이터베이스를 원하는 인스턴스로 복원해야 합니다.

Azure Portal을 사용하여 새 인스턴스로 지역 복원을 수행하려면 다음 단계를 수행합니다.

  1. 새 Azure SQL Managed Instance로 이동합니다.
  2. 새 데이터베이스를 선택합니다.
  3. 데이터베이스 이름을 입력합니다.
  4. 데이터 원본에서 적절한 유형의 백업을 선택한 다음, 데이터 원본에 대한 세부 정보를 제공합니다.
  5. 사용 가능한 지리적 복원 백업 목록에서 백업을 선택합니다.

인스턴스 데이터베이스를 만드는 프로세스를 완료하면 복원된 지역 복원 백업이 포함됩니다.

지리적 복원 고려 사항

지역 복원은 Azure SQL Managed Instance에서 사용할 수 있는 가장 기본적인 재해 복구 솔루션입니다. 보조(쌍을 이루는) 지역에서 자동으로 생성된 지역에서 복제된 백업을 사용합니다. 지역 복원에 대한 몇 가지 고려 사항은 다음과 같습니다.

  • RPO(복구 지점 목표)는 최대 1시간입니다.
  • 복원 프로세스(RTO(복구 시간 목표))가 수행되는 데 일반적으로 12시간 미만이 걸리지만 데이터베이스 크기와 활동에 따라 달라질 수 있으므로 복원이 이 시간 프레임 이상으로 연장될 수 있습니다.
  • 보조(쌍을 이루는) 지역은 주 지역에 대한 Azure Storage 설정입니다. 보조 지역을 변경할 수 없습니다.
  • 새로 만든/복원된 데이터베이스는 새 데이터 채우기 지연으로 인해 다른 지역에서 즉시 복원 가능으로 표시되지 않을 수 있습니다. 고객이 새 데이터베이스 백업을 볼 수 없는 경우 대기 기간을 최대 24시간으로 예상해야 합니다.

지리 복원은 비즈니스에 중요하지 않은 비교적 작은 데이터베이스를 사용하는 애플리케이션에 적합한 재해 복구 솔루션 역할을 한다는 점을 알아야 합니다. 대규모 데이터베이스가 필요하고 비즈니스 연속성을 보장해야 하는 업무상 중요한 애플리케이션에는 장애 조치(failover) 그룹을 사용합니다. 이 기능은 훨씬 낮은 RPO 및 RTO를 제공하며 용량이 항상 보장됩니다.

비즈니스 연속성 선택에 대한 자세한 내용은 비즈니스 연속성 개요를 참조하세요.

제한 사항

SQL Managed Instance에서 DTC를 사용하는 경우 다음과 같은 제한 사항을 고려합니다.

  • 데이터베이스의 지역 복원은 원본 SQL Managed Instance와 동일한 구독의 인스턴스에만 수행될 수 있습니다.
  • 원본 SQL Managed Instance가 2022년 11월 기능 웨이브에 등록된 경우에만 Azure SQL Managed Instance 데이터베이스를 통해 백업된 기본 파일이 온-프레미스 또는 가상 머신의 SQL Server 2022로 복원될 수 있습니다.
  • Azure SQL Managed Instance 데이터베이스는 기본적으로 TDE로 암호화됩니다. 원본 데이터베이스에서 CMK(고객 관리형 키)를 TDE 보호기로 사용하여 데이터베이스를 원본 SQL Managed Instance 이외의 인스턴스로 복원하는 경우 대상 인스턴스는 Azure Key Vault에서 원본 데이터베이스를 암호화하는 데 사용되는 동일한 키에 액세스할 수 있어야 합니다. 그렇지 않으면 백업을 수행하기 전에 원본 데이터베이스에서 TDE 암호화를 사용하지 않도록 설정해야 합니다.
  • sys.dm_exec_requestssys.dm_operation_status 동적 관리 뷰를 사용하여 복원 프로세스 진행률만 추적할 수 있습니다.
  • 또한 Azure SQL Managed Instance에서 서비스 엔드포인트 정책을 사용하도록 설정한 경우 서브넷에 서비스 엔드포인트 정책을 배치하면 다른 서브넷의 인스턴스에서 PITR(특정 시점 복원)이 방지됩니다.
  • RPO(복구 지점 목표)는 최대 1시간입니다.
  • RTO(복구 시간 목표)는 약 12시간이지만 데이터베이스 크기에 따라 달라질 수 있으며 활동이 이 시간 프레임을 초과할 수 있습니다.
  • 보조(쌍을 이루는) 지역을 변경할 수 없습니다.
  • 새로 만든/복원된 데이터베이스는 새 데이터 채우기 지연으로 인해 다른 지역에서 즉시 복원 가능으로 표시되지 않을 수 있습니다. 새 데이터베이스 백업이 표시되는 데 최대 24시간이 걸릴 수 있습니다.
  • 병렬로 복원할 수 있는 최대 데이터베이스 수는 단일 구독당 200개입니다. 경우에 따라 지원 티켓을 열어 이 한도를 늘릴 수 있습니다.