Compartir a través de


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

En este artículo, obtendrá información sobre cómo restaurar un grupo de SQL dedicado (anteriormente SQL Data Warehouse) 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. Para comenzar, consulte Instalación de Azure PowerShell. 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.

  4. Permisos: Tenga en cuenta que el usuario que realiza la restauración debe tener los permisos adecuados en las suscripciones de origen y de destino.

    Tarea Rol obligatorio (mínimo) Requisitos adicionales
    Grupo de SQL de origen de copia de seguridad Colaborador de SQL Server (servidor de origen) Requiere acceso a la cuenta de almacenamiento con el rol Colaborador de datos de blob de almacenamiento
    Acceso al archivo de copia de seguridad Lector de datos de blob de almacenamiento (en la cuenta de almacenamiento)
    Restaurar en el servidor de destino Colaborador de SQL Server (servidor de destino) Requiere el Lector de datos de blob de almacenamiento para la copia de seguridad

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 a una suscripción distinta, consulte Restauración de un grupo de SQL dedicado existente a una suscripción distinta mediante PowerShell.
  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.

    Captura de pantalla de Azure Portal y la barra de navegación de la página Información general de un grupo de SQL; el botón Restaurar está resaltado.

  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.

    Captura de pantalla de la página Restaurar del grupo de SQL dedicado de Azure Portal. Para el tipo Punto de restauración, el botón de radio de los puntos de restauración definidos por el usuario está seleccionado.

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

Esta es una guía similar a la restauración de un grupo de SQL dedicado existente. Sin embargo, las instrucciones siguientes muestran que el cmdlet de PowerShell Get-AzSqlDatabase debe realizarse en la suscripción de origen, mientras que el cmdlet Restore-AzSqlDatabase de PowerShell debe realizarse 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. Prerequisite 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