Restauración de un grupo de SQL dedicado (anteriormente SQL DW) existente

En este artículo, aprenderá a restaurar un grupo de SQL dedicado (anteriormente SQL DW) existente mediante Azure Portal y PowerShell.

Nota:

Esta guía es solo para grupos de SQL dedicados (anteriormente SQL DW) independientes. Para los grupos de SQL dedicados en un área de trabajo de Azure Synapse Analytics, consulte Restauración de un grupo de SQL dedicado existente.

Antes de empezar

  1. Compruebe la capacidad DTU. Cada grupo está hospedado en un servidor SQL lógico (por ejemplo, myserver.database.windows.net) que tiene una cuota de DTU predeterminada. Compruebe que el servidor tiene suficiente cuota de DTU restante para la base de datos que se va a restaurar. Para más información sobre cómo calcular la unidad DTU necesaria o solicitar más DTU, consulte cómo solicitar un cambio en la cuota de DTU.

  2. Asegúrese de instalar Azure PowerShell.

    Nota:

    Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Consulte Instalación de Azure PowerShell para empezar. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

  3. Tenga un punto de restauración existente desde el que desee realizar la restauración. Si desea crear una restauración, consulte el tutorial para crear un de restauración definido por el usuario.

Restauración de un grupo de SQL dedicado (anteriormente SQL DW) existente mediante PowerShell

Para restaurar un grupo de SQL dedicado (anteriormente SQL DW) existente a partir de un punto de restauración, use el cmdlet Restore-AzSqlDatabase de PowerShell.

  1. Abra PowerShell.

  2. Conéctese a su cuenta de Azure y enumere todas las suscripciones asociadas a su cuenta.

  3. Seleccione la suscripción que contiene la base de datos que se va a restaurar.

  4. Enumere los puntos de restauración del grupo de SQL dedicado (anteriormente SQL DW).

  5. Elija el punto de restauración deseado mediante RestorePointCreationDate.

  6. Restaure el grupo de SQL dedicado (anteriormente SQL DW) al punto de restauración deseado mediante el comando Restore-AzSqlDatabase de PowerShell.

    1. Para restaurar el grupo de SQL dedicado (anteriormente SQL DW) en un servidor diferente, asegúrese de especificar el nombre del otro servidor. Este servidor también puede estar en un grupo de recursos y una región diferentes.
    2. Para restaurar en otra suscripción, consulte la sección siguiente.
  7. Compruebe que el grupo de SQL dedicado (anteriormente SQL DW) restaurado está en línea.

  8. Una vez finalizada la restauración, puede configurar el grupo de SQL dedicado (anteriormente SQL DW) recuperado si sigue la guía Configuración de la base de datos después de realizar la recuperación.

    
    $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
    

Restauración de un grupo de SQL dedicado (anteriormente SQL DW) existente mediante Azure Portal

  1. Inicie sesión en Azure Portal.

  2. Vaya al grupo de SQL dedicado desde el que desea restaurar.

  3. En la parte superior de la página Información general, seleccione Restaurar.

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

  4. Seleccione Puntos de restauración automáticos o Puntos de restauración definidos por el usuario. Si el grupo de SQL dedicado (anteriormente SQL DW) no tiene ningún punto de restauración automática, espere unas horas o cree un punto de restauración definido por el usuario antes de llevar a cabo la restauración. En el caso de los puntos de restauración definidos por el usuario, seleccione uno existente o cree uno nuevo. En Servidor, puede elegir un servidor de otro grupo de recursos y región, o bien crear uno nuevo. Después de proporcionar todos los parámetros, seleccione Revisar y 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.

Restauración de un grupo de SQL dedicado (anteriormente SQL DW) existente en otra suscripción mediante PowerShell

Estas instrucciones son similares a las de la restauración de un grupo de SQL dedicado existente; sin embargo, en ellas se muestra que el cmdlet de PowerShell Get-AzSqlDatabase debe ejecutarse en la suscripción de origen, mientras que el cmdlet de PowerShell Restore-AzSqlDatabase debe ejecutarse en la suscripción de destino. El usuario que realiza la restauración debe tener los permisos adecuados en las suscripciones de origen y de destino.

  1. Abra PowerShell.

  2. Si tiene una versión anterior, actualice el módulo Az.Sql a la versión 3.8.0 (o una posterior) mediante Update-Module. De lo contrario, surgirán errores. Para validar la versión con 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. Conéctese a su cuenta de Azure y enumere todas las suscripciones asociadas a su cuenta.

  4. Seleccione la suscripción que contiene la base de datos que se va a restaurar.

  5. Enumere los puntos de restauración del grupo de SQL dedicado (anteriormente SQL DW).

  6. Elija el punto de restauración deseado mediante RestorePointCreationDate.

  7. Seleccione la suscripción de destino en la que se debe restaurar la base de datos.

  8. Restaure el grupo de SQL dedicado (anteriormente SQL DW) al punto de restauración deseado mediante el comando Restore-AzSqlDatabase de PowerShell.

  9. Compruebe que el grupo de SQL dedicado (anteriormente SQL DW) restaurado está en línea.

    $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