Restaurar um pool SQL dedicado existente (anteriormente SQL DW)

Neste artigo, você aprenderá a restaurar um pool SQL dedicado existente (anteriormente SQL DW) usando o portal do Azure e o PowerShell.

Nota

Esta orientação é apenas para pools SQL dedicados autônomos (anteriormente SQL DW). Para pools SQL dedicados em um espaço de trabalho do Azure Synapse Analytics, consulte Restaurar um pool SQL dedicado existente.

Antes de começar

  1. Verifique a capacidade da DTU. Cada pool é hospedado por um servidor SQL lógico (por exemplo, myserver.database.windows.net) que tem uma cota DTU padrão. Verifique se o servidor tem cota DTU restante suficiente para o banco de dados que está sendo restaurado. Para saber como calcular a DTU necessária ou solicitar mais DTU, consulte Solicitar uma alteração de cota de DTU.

  2. Certifique-se de instalar o Azure PowerShell.

    Nota

    Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

  3. Ter um ponto de restauração existente a partir do qual você deseja restaurar. Se você quiser criar uma nova restauração, consulte o tutorial para criar um novo ponto de restauração definido pelo usuário.

Restaurar um conjunto de SQL dedicado existente (anteriormente SQL DW) através do PowerShell

Para restaurar um pool SQL dedicado existente (anteriormente SQL DW) a partir de um ponto de restauração, use o cmdlet Restore-AzSqlDatabase PowerShell.

  1. Abra o PowerShell.

  2. Conecte-se à sua conta do Azure e liste todas as assinaturas associadas à sua conta.

  3. Selecione a assinatura que contém o banco de dados a ser restaurado.

  4. Liste os pontos de restauração para o pool SQL dedicado (anteriormente SQL DW).

  5. Escolha o ponto de restauração desejado usando RestorePointCreationDate.

  6. Restaure o pool SQL dedicado (anteriormente SQL DW) para o ponto de restauração desejado usando o cmdlet Restore-AzSqlDatabase PowerShell.

    1. Para restaurar o pool SQL dedicado (anteriormente SQL DW) para um servidor diferente, certifique-se de especificar o outro nome de servidor. Esse servidor também pode estar em um grupo de recursos e região diferentes.
    2. Para restaurar para uma assinatura diferente, consulte a seção abaixo.
  7. Verifique se o pool SQL dedicado restaurado (anteriormente SQL DW) está online.

  8. Após a conclusão da restauração, você pode configurar seu pool SQL dedicado recuperado (anteriormente SQL DW) seguindo configurar seu banco de dados após a recuperação.

    
    $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
    

Restaurar um conjunto de SQL dedicado existente (anteriormente SQL DW) através do portal do Azure

  1. Inicie sessão no portal do Azure.

  2. Navegue até o pool SQL dedicado do qual você deseja restaurar.

  3. Na parte superior da página Descrição geral, selecione Restaurar.

    Captura de tela do portal do Azure, a barra de navegação da página Visão geral de um pool SQL, o botão Restaurar é realçado.

  4. Selecione Pontos de restauração automática ou Pontos de restauração definidos pelo usuário. Se o pool SQL dedicado (anteriormente SQL DW) não tiver nenhum ponto de restauração automático, aguarde algumas horas ou crie um ponto de restauração definido pelo usuário antes de restaurar. Para Pontos de Restauração Definidos pelo Usuário, selecione um existente ou crie um novo. Para Servidor, você pode escolher um servidor em um grupo de recursos e região diferentes ou criar um novo. Depois de fornecer todos os parâmetros, selecione Revisão + Restauração.

    Captura de ecrã da página dedicada Restauro do conjunto SQL do portal do Azure. Para Tipo de ponto de restauração, o botão de opção para pontos de restauração definidos pelo usuário está selecionado.

Restaurar um conjunto de SQL dedicado existente (anteriormente SQL DW) numa subscrição diferente através do PowerShell

Essa é uma orientação semelhante à restauração de um pool SQL dedicado existente, no entanto, as instruções abaixo mostram que o cmdlet Get-AzSqlDatabase PowerShell deve ser executado na assinatura de origem, enquanto o cmdlet Restore-AzSqlDatabase PowerShell deve ser executado na assinatura de destino. O usuário que executa a restauração deve ter permissões adequadas nas assinaturas de origem e de destino.

  1. Abra o PowerShell.

  2. Atualize o módulo Az.Sql para 3.8.0 (ou superior) se estiver em uma versão mais antiga usando Update-Moduleo . Caso contrário, causará falhas. Para validar a versão com o 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. Conecte-se à sua conta do Azure e liste todas as assinaturas associadas à sua conta.

  4. Selecione a assinatura que contém o banco de dados a ser restaurado.

  5. Liste os pontos de restauração para o pool SQL dedicado (anteriormente SQL DW).

  6. Escolha o ponto de restauração desejado usando RestorePointCreationDate.

  7. Selecione a assinatura de destino na qual o banco de dados deve ser restaurado.

  8. Restaure o pool SQL dedicado (anteriormente SQL DW) para o ponto de restauração desejado usando o cmdlet Restore-AzSqlDatabase PowerShell.

  9. Verifique se o pool SQL dedicado restaurado (anteriormente SQL DW) está online.

    $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