Restaurer un pool SQL dédié existant (anciennement SQL DW)

Dans cet article, vous allez apprendre à restaurer un pool SQL dédié existant (anciennement SQL DW) à l’aide du portail Azure et de PowerShell.

Remarque

Ces conseils d’aide s’appliquent uniquement aux pools SQL dédiés autonomes (anciennement SQL DW). Pour les pools SQL dédiés dans un espace de travail Azure Synapse Analytics, consultez Restaurer un pool SQL dédié existant.

Avant de commencer

  1. Vérifiez votre capacité de DTU. Chaque pool est hébergé par un serveur SQL logique (par exemple myserver.database.windows.net) qui dispose d’un quota de DTU par défaut. Vérifiez que le quota DTU restant sur le serveur est suffisant pour la base de données en cours de restauration. Pour savoir comment calculer la capacité DTU nécessaire ou pour demander davantage de capacité DTU, consultez Request a DTU quota change(Demander une modification du quota DTU).

  2. Assurez-vous d’installer Azure PowerShell.

    Remarque

    Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour commencer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

  3. Utilisez un point de restauration existant à partir duquel vous souhaitez effectuer la restauration. Si vous souhaitez créer une nouvelle restauration, consultez le didacticiel pour créer un nouveau point de restauration défini par l’utilisateur.

Restaurer un pool SQL dédié existant (anciennement SQL DW) via PowerShell

Pour restaurer un pool SQL dédié existant (anciennement SQL DW) à partir d’un point de restauration, utilisez l’applet de commande PowerShell Restore-AzSqlDatabase.

  1. Ouvrez PowerShell.

  2. Connectez-vous à votre compte Azure et répertoriez tous les abonnements associés à votre compte.

  3. Sélectionnez l’abonnement contenant la base de données à restaurer.

  4. Listez les points de restauration pour le pool SQL dédié (anciennement SQL DW).

  5. Sélectionnez le point de restauration souhaité à l’aide de l’élément RestorePointCreationDate.

  6. Restaurez le pool SQL dédié (anciennement SQL DW)sur le point de restauration souhaité à l’aide de la cmdlet PowerShell Restore-AzSqlDatabase.

    1. Pour restaurer le pool SQL dédié (anciennement SQL DW) sur un autre serveur, veillez à spécifier le nom de ce serveur. Ce serveur peut également se trouver dans un groupe de ressources et une région différents.
    2. Pour effectuer une restauration vers un autre abonnement, consultez la section ci-dessous.
  7. Vérifiez que le pool SQL dédié restauré (anciennement SQL DW) est en ligne.

  8. Une fois la restauration terminée, vous pouvez configurer votre pool SQL dédié récupéré (anciennement SQL DW) en suivant les instructions de la section Configurer votre base de données après récupération.

    
    $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
    

Restaurer un pool SQL dédié existant (anciennement SQL DW) via le portail Azure

  1. Connectez-vous au portail Azure.

  2. Accédez au pool SQL dédié à partir duquel effectuer la restauration.

  3. En haut de la page Vue d’ensemble, sélectionnez Restaurer.

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

  4. Sélectionnez Points de restauration automatiques ou Points de restauration définis par l’utilisateur. Si le pool SQL dédié (anciennement SQL DW) n’a pas de points de restauration automatiques, patientez quelques heures ou créez un point de restauration défini par l’utilisateur avant la restauration. Pour les points de restauration définis par l’utilisateur, sélectionnez un point existant ou créez-en un nouveau. Pour Serveur, vous pouvez choisir un serveur dans un groupe de ressources et une région différents ou en créer un nouveau. Après avoir fourni tous les paramètres, sélectionnez Vérifier + restaurer.

    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.

Restaurer un pool SQL dédié existant (anciennement SQL DW) sur un autre abonnement avec PowerShell

Les conseils sont similaires à ceux donnés pour restaurer un pool SQL dédié existant, mais les instructions ci-dessous montrent que l’applet de commande PowerShell Get-AzSqlDatabase doit être effectuée dans l’abonnement d’origine alors que l’applet de commande PowerShell Restore-AzSqlDatabase doit être effectué dans l’abonnement de destination. L’utilisateur effectuant la restauration doit disposer d’autorisations appropriées dans les abonnements source et cible.

  1. Ouvrez PowerShell.

  2. Mettez à jour le module Az.Sql vers la version 3.8.0 (ou une version ultérieure) à l’aide de Update-Module si vous utilisez une version antérieure. Dans le cas contraire, des échecs se produiront. Pour valider la version avec 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. Connectez-vous à votre compte Azure et répertoriez tous les abonnements associés à votre compte.

  4. Sélectionnez l’abonnement contenant la base de données à restaurer.

  5. Listez les points de restauration pour le pool SQL dédié (anciennement SQL DW).

  6. Sélectionnez le point de restauration souhaité à l’aide de l’élément RestorePointCreationDate.

  7. Sélectionnez l’abonnement de destination sur lequel la base de données doit être restaurée.

  8. Restaurez le pool SQL dédié (anciennement SQL DW)sur le point de restauration souhaité à l’aide de la cmdlet PowerShell Restore-AzSqlDatabase.

  9. Vérifiez que le pool SQL dédié restauré (anciennement SQL DW) est en ligne.

    $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