Azure SQL Managed Instance의 데이터베이스를 이전의 특정 시점으로 복원

적용 대상:Azure SQL Managed Instance

지정 시간 복원을 사용하여 지정 시간 이전에 데이터베이스의 복사본인 데이터베이스를 만들 수 있습니다. 이 문서에서는 Azure SQL Managed Instance에서 데이터베이스의 특정 시점 복원을 수행하는 방법을 설명합니다.

참고

v02.01.2022 만들기 또는 업데이트는 더 이상 사용되지 않습니다. 2023년 1월부터 모든 데이터베이스 복원 작업에 대체 v5.0.2022 만들기 또는 업데이트 API 호출을 사용합니다.

개요

지정 시간 복원은 오류 또는 오류로 인해 발생한 인시던트, 데이터가 올바르게 로드되지 않거나 중요한 데이터가 삭제되는 경우와 같은 복구 시나리오에서 유용합니다. 데이터베이스 배포를 테스트하고 감사하는 데만 사용할 수도 있습니다. Azure 백업 파일은 데이터베이스 설정에 따라 7~35일 동안 유지됩니다.

지정 시간 복원을 사용하여 다음 시나리오에서 데이터베이스를 복원할 수 있습니다.

  • 기존 데이터베이스에서
  • 삭제된 데이터베이스에서
  • 동일한 관리되는 인스턴스 또는 다른 관리되는 인스턴스로
  • 동일한 구독의 관리되는 인스턴스 또는 다른 구독의 관리되는 인스턴스로

다음 표에서는 SQL Managed Instance에 대한 특정 시점 복원 시나리오를 보여 줍니다.

시나리오 Azure portal Azure CLI PowerShell
기존 데이터베이스를 동일한 관리되는 인스턴스로 복원 Yes
기존 데이터베이스를 다른 관리되는 인스턴스로 복원 Yes
삭제된 데이터베이스를 동일한 관리되는 인스턴스로 복원
삭제된 데이터베이스를 다른 관리되는 인스턴스로 복원
기존 데이터베이스를 다른 구독의 관리되는 인스턴스로 복원
삭제된 데이터베이스를 다른 구독의 관리되는 인스턴스로 복원

사용 권한

데이터베이스를 복구하려면 다음 중 하나여야 합니다.

SQL Managed Instance 기여자 역할이 없는 경우 데이터베이스를 다른 대상 구독으로 복원하려면 다음 권한도 있어야 합니다.

  • 원본 SQL Managed Instance에 대한 Microsoft.Sql/managedInstances/databases/readBackups/action
  • 대상 SQL Managed Instance에 대한 Microsoft.Sql/managedInstances/crossSubscriptionPITR/action

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

제한 사항

이러한 제한 사항은 SQL Managed Instance의 지정 시간 복원에 적용됩니다.

  • 지정 시간 복원을 사용하여 전체 SQL Managed Instance 배포를 복구할 수 없습니다. 지정 시간 복원만 사용하여 SQL Managed Instance에서 호스트되는 데이터베이스의 복사본을 만듭니다.

  • 지정 시간 복원의 제한 사항은 데이터베이스를 동일한 구독의 관리되는 인스턴스로 복원하는지 아니면 다른 구독의 관리되는 인스턴스로 복원하는지에 따라 달라집니다.

  • Azure SQL Managed Instance에서 서비스 엔드포인트 정책을 사용하도록 설정한 경우 서브넷에 서비스 엔드포인트 정책을 배치하면 다른 서브넷의 인스턴스에서 지정 시간 복원이 방지됩니다.

경고

관리되는 인스턴스의 스토리지 크기를 알고 있어야 합니다. 복원할 데이터의 크기에 따라 관리되는 인스턴스에 대한 스토리지가 부족할 수 있습니다. 복원된 데이터에 대한 관리되는 인스턴스에 충분한 스토리지 공간이 없는 경우 다른 방법을 사용합니다.

동일한 구독으로 복원

하나의 관리되는 인스턴스에서 동일한 Azure 구독의 다른 관리되는 인스턴스로 복원하는 경우 두 관리되는 인스턴스가 모두 동일한 지역에 있어야 합니다. 현재 지역 간 복원은 지원되지 않습니다.

다른 구독으로 복원

구독 간에 특정 시점 복원 백업을 복원하는 데는 다음과 같은 제한 사항이 있습니다.

  • 두 구독 모두 동일한 지역에 있어야 합니다.
  • 두 구독 모두 동일한 테넌트에 있어야 합니다.
  • 구독 유형은 기업계약, 클라우드 솔루션 공급자, Microsoft Certified Partner 또는 종량제여야 합니다.
  • 복원 작업은 기본 인스턴스에서만 사용할 수 있습니다.
  • 주 지역에서만 백업을 복원할 수 있습니다. 지역에서 복제된 보조 지역에서 데이터베이스 복원은 구독 간 특정 시점 복원에 지원되지 않습니다.
  • 복원 작업을 수행하는 사용자는 SQL Managed Instance 기여자 역할을 할당받았거나 이러한 명시적 권한을 가지고 있어야 합니다.
    • 원본 SQL Managed Instance에 대한 Microsoft.Sql/managedInstances/databases/readBackups/action
    • 대상 SQL Managed Instance에 대한 Microsoft.Sql/managedInstances/crossSubscriptionPITR/action
  • BYOK(Bring Your Own Key)인 경우 키는 두 구독 모두에 있어야 합니다.

기존 데이터베이스 복원

Azure Portal, PowerShell 또는 Azure CLI를 사용하여 동일한 구독에서 기존 데이터베이스를 복원할 수 있습니다. PowerShell 또는 Azure CLI를 사용하여 동일한 구독의 다른 인스턴스로 복원하는 경우 대상 SQL Managed Instance 리소스에 대한 속성을 지정해야 합니다. 데이터베이스는 기본적으로 동일한 인스턴스로 복원됩니다.

다른 구독으로 복원하는 경우 복원 작업의 기초가 되는 v5.0.2022 만들기 또는 업데이트 API 호출에는 restorePointInTime, crossSubscriptionTargetManagedInstanceIdcrossSubscriptionSourceDatabaseId 또는 crossSubscriptionRestorableDroppedDatabaseId가 포함되어야 합니다.

기존 데이터베이스를 복원하려면 Azure Portal의 데이터베이스 페이지로 이동하여 복원을 선택하여 복원을 수행하면 됩니다.

또는 데이터베이스를 복원하려면 다음 단계를 수행하면 됩니다.

  1. Azure Portal에 로그인합니다.

  2. 데이터베이스를 복원하려는 대상 SQL Managed Instance로 이동합니다.

  3. 개요 페이지에서 + 새 데이터베이스를 선택하여 Azure SQL Managed Database 만들기 페이지를 엽니다.

    Screenshot that shows the SQL Managed Instance overview pane in the Azure portal, with adding a new database selected.

  4. Azure SQL Managed Database 만들기 페이지기본 탭에 있는 프로젝트 세부 정보에 구독 및 리소스 그룹 세부 정보를 입력합니다. 그런 다음, 데이터베이스 세부 정보에 복원하려는 데이터베이스의 새 이름을 입력합니다. 올바른 Managed Instance가 드롭다운에 나와 있는지 확인합니다. 그런 다음, 다음: 데이터 원본 >을 선택합니다.

    Screenshot of the Azure portal that shows the Basics tab of the Create Azure SQL Managed Database page.

  5. 데이터 원본 탭의 기존 데이터 사용에서 특정 시점 복원을 선택합니다. 원본 데이터베이스가 포함된 구독, 리소스 그룹 및 Managed Instance를 제공합니다. 관리되는 데이터베이스 드롭다운에서 복원할 데이터베이스를 선택한 다음, 데이터베이스를 복원할 시점을 선택합니다. 원본 및 대상 인스턴스는 동일하거나 서로 다른 인스턴스 2개일 수 있습니다. 다음: 추가 설정 >을 선택합니다.

    Screenshot of the Azure portal that shows the data source tab of the Create Azure SQL Managed Database page, with point-in-time restore selected.

  6. 추가 설정 탭에서 확인란을 선택하여 원본 데이터베이스의 보존 정책을 상속하거나 보존 구성을 선택하여 정책 구성 페이지를 열고 복원된 데이터베이스에 대해 원하는 보존 정책을 설정할 수 있습니다. 입력을 완료한 후 검토 + 만들기를 선택합니다.

    Screenshot of the Azure portal that shows the additional settings tab of the Create Azure SQL Managed Database page.

  7. 유효성 검사가 성공하면 검토 + 만들기에서 만들기를 선택하여 데이터베이스를 복원합니다.

이 작업은 복원 프로세스를 시작합니다. 그러면 새 데이터베이스가 만들어지고 특정 시점의 원래 데이터베이스의 데이터로 채워집니다. 복구 프로세스에 대한 자세한 내용은 복구 시간을 참조하세요.

삭제된 데이터베이스 복원

Azure Portal, Azure PowerShell 또는 Azure CLI를 사용하여 삭제된 데이터베이스를 복원할 수 있습니다.

Azure Portal을 사용하여 삭제된 관리형 데이터베이스를 복원하려면 다음을 수행합니다.

  1. Azure Portal에서 원본 관리형 인스턴스로 이동합니다.

  2. 데이터 관리 아래의 왼쪽 메뉴에서 백업을 선택합니다.

  3. 데이터베이스 표시에서 삭제됨을 선택합니다.

  4. 복원할 데이터베이스에 대해 복원을 선택합니다.

    Screenshot that shows available databases in the portal, with the Restore button highlighted to restore a deleted database.

  5. Azure SQL 관리형 데이터베이스 만들기에서 데이터베이스를 복원할 대상 관리형 인스턴스에 대한 세부 정보를 입력하거나 선택합니다. 데이터 원본 탭을 선택합니다.

  6. 데이터 원본에서 원본 데이터베이스에 대한 세부 정보를 입력하거나 선택합니다. 추가 설정 탭을 선택합니다.

  7. 추가 설정에서 보존 설정을 구성합니다. 검토 + 만들기 탭을 선택합니다.

  8. 검토 + 만들기에서 만들기를 선택하여 삭제된 데이터베이스를 복원합니다.

기존 데이터베이스 덮어쓰기

기존 데이터베이스를 덮어쓰려면 다음을 수행해야 합니다.

  1. 덮어쓸 원래 데이터베이스를 삭제합니다.
  2. 특정 시점에서 복원된 데이터베이스의 이름을 삭제한 데이터베이스의 이름으로 바꿉니다.

원본 데이터베이스 삭제

Azure Portal, PowerShell 또는 Azure CLI를 사용하여 데이터베이스를 삭제할 수 있습니다.

데이터베이스를 삭제하는 또 다른 옵션은 SSMS(SQL Server Management Studio)에서 직접 관리되는 인스턴스에 연결한 다음, DROP T-SQL(Transact-SQL) 명령을 사용하는 것입니다.

DROP DATABASE WorldWideImporters;

다음 방법 중 하나를 사용하여 관리되는 인스턴스의 데이터베이스에 연결합니다.

  1. Azure Portal에서 관리되는 인스턴스의 데이터베이스를 선택합니다.

  2. 명령 모음에서 삭제를 선택합니다.

    Screenshot that shows how to delete a database by using the Azure portal.

새 데이터베이스 이름을 원래 데이터베이스 이름과 일치하도록 변경

SSMS(SQL Server Management Studio)를 사용하여 관리되는 인스턴스에 직접 연결합니다. 그런 후, 다음 T-SQL 쿼리를 실행합니다. 이 쿼리는 복원된 데이터베이스의 이름을 덮어쓰려는 삭제된 데이터베이스의 이름으로 변경합니다.

ALTER DATABASE WorldWideImportersPITR MODIFY NAME = WorldWideImporters;

다음 방법 중 하나를 사용하여 관리되는 인스턴스의 데이터베이스에 연결합니다.

다음 단계

자동화된 백업에 대해 알아봅니다.