Share via


Restaurar um pool de SQL dedicado existente (antes conhecido como SQL DW)

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

Observação

Essas diretrizes são apenas para pools de SQL dedicados autônomos (anteriormente SQL DW). Para pools de SQL dedicados em um workspace do Azure Synapse Analytics, confira Restaurar um pool de SQL dedicado já existente.

Antes de começar

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

  2. Certifique-se de instalar Azure PowerShell.

    Observação

    Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Confira Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

  3. Ter um ponto de restauração existente 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 pool SQL dedicado existente (anteriormente conhecido como SQL DW) por meio do PowerShell

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

  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 conhecido como SQL DW).

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

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

    1. Para restaurar o pool de SQL dedicado (anteriormente conhecido como 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, confira a seção abaixo.
  7. Verifique se o pool de SQL dedicado restaurado (anteriormente conhecido como SQL DW) está online.

  8. Depois que a restauração estiver concluída, você poderá configurar o pool de SQL dedicado restaurado (anteriormente conhecido como SQL DW) seguindo Configurar o 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 pool SQL dedicado existente (anteriormente conhecido como SQL DW) por meio do portal do Azure

  1. Entre no portal do Azure.

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

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

    Screenshot from the Azure portal, the Overview page navigation bar of a SQL pool, the Restore button is highlighted.

  4. Selecione Pontos de Restauração Automática ou Pontos de Restauração Definido Pelo Usuário. Se o pool do SQL dedicado (anteriormente conhecido como SQL DW) não tiver pontos de restauração automáticos, aguarde algumas horas ou crie um ponto de restauração definido pelo usuário antes da restauração. Para pontos de restauração definidos pelo usuário, selecione um existente ou crie um novo. Para o Servidor, você pode escolher um servidor em um grupo de recursos e uma região diferentes ou criar um novo. Depois de fornecer todos os parâmetros, selecione Revisar + Restaurar.

    Screenshot from the dedicated SQL pool Restore page of the Azure portal. For Restore point type, the radio button for User-defined restore points is selected.

Restaurar um pool de SQL dedicado (antigo SQL DW) para uma assinatura diferente por meio do PowerShell

Essa orientação é semelhante à diretriz para restaurar um pool de SQL dedicado. Mas as instruções abaixo mostram que o cmdlet do PowerShell Get-AzSqlDatabase deve ser executado na assinatura de origem, enquanto o cmdlet do PowerShell Restore-AzSqlDatabase deve ser executado na assinatura de destino. O usuário que está executando 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 a 3.8.0 (ou superior) se estiver usando uma versão mais antiga com Update-Module. Caso contrário, ocorrerão 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 conhecido como SQL DW).

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

  7. Selecione a assinatura de destino em que o banco de dados deve ser restaurado.

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

  9. Verifique se o pool de SQL dedicado restaurado (anteriormente conhecido como 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