다음을 통해 공유


기존 전용 SQL 풀(이전의 SQL DW) 복원

이 문서에서는 Azure Portal 및 PowerShell을 사용하여 기존 전용 SQL 풀(이전의 SQL DW)을 복원하는 방법에 대해 알아봅니다.

참고 항목

이 지침은 독립 실행형 전용 SQL 풀(이전의 SQL DW)에만 해당됩니다. Azure Synapse Analytics 작업 영역의 전용 SQL 풀은 기존 전용 SQL 풀 복원을 참조하세요.

시작하기 전에

  1. DTU 용량을 확인합니다. 각 풀은 기본 DTU 할당량이 있는 논리 SQL Server(예: myserver.database.windows.net)에서 호스트합니다. 서버에 데이터베이스를 복원하기에 충분한 DTU 할당량이 있는지 확인합니다. 필요한 DTU를 계산하거나 더 많은 DTU를 요청하는 방법을 알아보려면 DTU 할당량 변경 요청을 참조합니다.

  2. Azure PowerShell을 설치해야 합니다.

    참고 항목

    Azure Az PowerShell 모듈을 사용하여 Azure와 상호 작용하는 것이 좋습니다. 시작하려면 Azure PowerShell 설치를 참조하세요. Az PowerShell 모듈로 마이그레이션하는 방법에 대한 자세한 내용은 Azure PowerShell을 AzureRM에서 Azure로 마이그레이션을 참조하세요.

  3. 복원하려는 기존 복원 지점이 있어야 합니다. 새 복원을 만들려면 새 사용자 정의 복원 지점을 만드는 자습서를 참조합니다.

PowerShell을 통해 기존 전용 SQL 풀(이전의 SQL DW) 복원

복원 지점에서 기존 전용 SQL 풀(이전의 SQL DW)을 복원하려면 Restore-AzSqlDatabase PowerShell cmdlet을 사용합니다.

  1. PowerShell을 엽니다.

  2. Azure 계정에 연결하고 사용자 계정과 연결된 모든 구독을 나열합니다.

  3. 복원할 데이터베이스가 포함된 구독을 선택합니다.

  4. 전용 SQL 풀(이전의 SQL DW)의 복원 지점을 나열합니다.

  5. RestorePointCreationDate를 사용하여 원하는 복원 지점을 선택합니다.

  6. Restore-AzSqlDatabase PowerShell cmdlet을 사용하여 전용 SQL 풀(이전의 SQL DW)을 원하는 복원 지점으로 복원합니다.

    1. 전용 SQL 풀(이전의 SQL DW)을 다른 서버로 복원하려면 다른 서버 이름을 지정해야 합니다. 이 서버는 다른 리소스 그룹 및 지역에 있을 수도 있습니다.
    2. 다른 구독으로 복원하려면 아래 섹션을 참조하세요.
  7. 복원된 전용 SQL 풀(이전의 SQL DW)이 온라인 상태인지 확인합니다.

  8. 복원이 완료되면 복구 후 데이터베이스 구성에 따라 복구된 전용 SQL 풀(이전의 SQL DW)을 구성할 수 있습니다.

    
    $SubscriptionName="<YourSubscriptionName>"
    $ResourceGroupName="<YourResourceGroupName>"
    $ServerName="<YourServerNameWithoutURLSuffixSeeNote>"  # Without database.windows.net
    #$TargetResourceGroupName="<YourTargetResourceGroupName>" # uncomment to restore to a different server.
    #$TargetServerName="<YourtargetServerNameWithoutURLSuffixSeeNote>"  
    $DatabaseName="<YourDatabaseName>"
    $NewDatabaseName="<YourDatabaseName>"
    
    Connect-AzAccount
    Get-AzSubscription
    Select-AzSubscription -SubscriptionName $SubscriptionName
    
    # Or list all restore points
    Get-AzSqlDatabaseRestorePoint -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName
    
    # Get the specific database to restore
    $Database = Get-AzSqlDatabase -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName
    
    # Pick desired restore point using RestorePointCreationDate "xx/xx/xxxx xx:xx:xx xx"
    $PointInTime="<RestorePointCreationDate>"
    
    # Restore database from a restore point
    $RestoredDatabase = Restore-AzSqlDatabase –FromPointInTimeBackup –PointInTime $PointInTime -ResourceGroupName $Database.ResourceGroupName -ServerName $Database.ServerName -TargetDatabaseName $NewDatabaseName –ResourceId $Database.ResourceID
    
    # Use the following command to restore to a different server
    #$TargetResourceGroupName = $Database.ResourceGroupName # for restoring to different server in same resourcegroup 
    #$RestoredDatabase = Restore-AzSqlDatabase –FromPointInTimeBackup –PointInTime $PointInTime -ResourceGroupName $TargetResourceGroupName -ServerName $TargetServerName -TargetDatabaseName $NewDatabaseName –ResourceId $Database.ResourceID
    
    # Verify the status of restored database
    $RestoredDatabase.status
    

Azure Portal를 통해 기존 전용 SQL 풀(이전의 SQL DW) 복원

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

  2. 복원하려는 전용 SQL 풀로 이동합니다.

  3. 개요 페이지의 상단에서 복원을 선택합니다.

    Azure Portal의 스크린샷, SQL 풀의 개요 페이지 탐색 모음, 복원 단추가 강조 표시되어 있습니다.

  4. 자동 복원 지점 또는 사용자 정의 복원 지점 중 하나를 선택합니다. 전용 SQL 풀(이전의 SQL DW)에 자동 복원 지점이 없는 경우 복원하기 전에 몇 시간 동안 기다리거나 사용자 정의 복원 지점을 만듭니다. 사용자 정의 복원 지점의 경우 기존 복원 지점을 선택하거나 새로 만듭니다. 서버의 경우 다른 리소스 그룹 및 지역에서 서버를 선택하거나 새 서버를 만들 수 있습니다. 모든 매개 변수를 제공한 후 검토 + 복원을 선택합니다.

    Azure Portal의 전용 SQL 풀 복원 페이지 스크린샷. 복원 지점 유형에서 사용자 정의 복원 지점 라디오 단추가 선택됩니다.

PowerShell을 통해 기존 전용 SQL 풀(이전의 SQL DW)을 다른 구독으로 복원

이는 기존 전용 SQL 풀을 복원하는 것과 유사한 지침이지만 아래 지침에 따르면 Get-AzSqlDatabase PowerShell cmdlet은 원래 구독에서 수행되어야 하며 Restore-AzSqlDatabase PowerShell cmdlet은 대상 구독에서 수행되어야 합니다. 복원을 수행하는 사용자에게는 원본 및 대상 구독 모두에서 적절한 권한이 있어야 합니다.

  1. PowerShell을 엽니다.

  2. Update-Module을 사용하는 이전 버전인 경우 Az.Sql Module을 3.8.0(이상)으로 업데이트합니다. 그렇지 않으면 오류가 발생합니다. PowerShell을 사용하여 버전의 유효성을 검사하려면 다음을 수행합니다.

    foreach ($i in (get-module -ListAvailable | ?{$_.name -eq 'az.sql'}).Version) { $version = [string]$i.Major + "." + [string]$i.Minor; if ($version -gt 3.7) {write-host "Az.Sql version $version installed. Prequisite met."} else {update-module az.sql} }
    
  3. Azure 계정에 연결하고 사용자 계정과 연결된 모든 구독을 나열합니다.

  4. 복원할 데이터베이스가 포함된 구독을 선택합니다.

  5. 전용 SQL 풀(이전의 SQL DW)의 복원 지점을 나열합니다.

  6. RestorePointCreationDate를 사용하여 원하는 복원 지점을 선택합니다.

  7. 데이터베이스를 복원할 대상 구독을 선택합니다.

  8. Restore-AzSqlDatabase PowerShell cmdlet을 사용하여 전용 SQL 풀(이전의 SQL DW)을 원하는 복원 지점으로 복원합니다.

  9. 복원된 전용 SQL 풀(이전의 SQL DW)이 온라인 상태인지 확인합니다.

    $SourceSubscriptionName="<YourSubscriptionName>"
    $SourceResourceGroupName="<YourResourceGroupName>"
    $SourceServerName="<YourServerNameWithoutURLSuffixSeeNote>"  # Without database.windows.net
    $SourceDatabaseName="<YourDatabaseName>"
    $TargetSubscriptionName="<YourTargetSubscriptionName>"
    $TargetResourceGroupName="<YourTargetResourceGroupName>"
    $TargetServerName="<YourTargetServerNameWithoutURLSuffixSeeNote>"  # Without database.windows.net
    $TargetDatabaseName="<YourDatabaseName>"
    
    # Update Az.Sql module to the latest version (3.8.0 or above)
    # Update-Module -Name Az.Sql -RequiredVersion 3.8.0
    
    Connect-AzAccount
    Get-AzSubscription
    Select-AzSubscription -SubscriptionName $SourceSubscriptionName
    
    # Pick desired restore point using RestorePointCreationDate "xx/xx/xxxx xx:xx:xx xx"
    $PointInTime="<RestorePointCreationDate>"
    # Or list all restore points
    Get-AzSqlDatabaseRestorePoint -ResourceGroupName $SourceResourceGroupName -ServerName $SourceServerName -DatabaseName $SourceDatabaseName
    
    # Get the specific database to restore
    $Database = Get-AzSqlDatabase -ResourceGroupName $SourceResourceGroupName -ServerName $SourceServerName -DatabaseName $SourceDatabaseName
    
    # Switch context to the destination subscription
    Select-AzSubscription -SubscriptionName $TargetSubscriptionName
    
    # Restore database from a desired restore point of the source database to the target server in the desired subscription
    $RestoredDatabase = Restore-AzSqlDatabase –FromPointInTimeBackup –PointInTime $PointInTime -ResourceGroupName $TargetResourceGroupName -ServerName $TargetServerName -TargetDatabaseName $TargetDatabaseName –ResourceId $Database.ResourceID
    
    # Verify the status of restored database
    $RestoredDatabase.status