Een bestaande toegewezen SQL-pool herstellen (voorheen SQL DW)

In dit artikel leert u hoe u een bestaande toegewezen SQL-pool (voorheen SQL DW) herstelt met behulp van Azure Portal en PowerShell.

Notitie

Deze richtlijnen zijn alleen bedoeld voor zelfstandige toegewezen SQL-pools (voorheen SQL DW). Zie Een bestaande toegewezen SQL-pool herstellen voor toegewezen SQL-pools in een Azure Synapse Analytics-werkruimte.

Voordat u begint

  1. Controleer uw DTU-capaciteit. Elke pool wordt gehost door een logische SQL-server (bijvoorbeeld myserver.database.windows.net) met een standaard DTU-quotum. Controleer of de server voldoende DTU-quotum heeft om de database te herstellen. Zie Een DTU-quotumwijziging aanvragen voor meer informatie over het berekenen van de benodigde DTU of om meer DTU's aan te vragen.

  2. Zorg ervoor dat u Azure PowerShell installeert.

    Notitie

    Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

  3. Een bestaand herstelpunt hebben waaruit u wilt herstellen. Als u een nieuwe herstelbewerking wilt maken, raadpleegt u de zelfstudie voor het maken van een nieuw door de gebruiker gedefinieerd herstelpunt.

Herstel een bestaande toegewezen SQL-pool (voorheen SQL DW) via PowerShell

Als u een bestaande toegewezen SQL-pool (voorheen SQL DW) vanaf een herstelpunt wilt herstellen, gebruikt u de Cmdlet Restore-AzSqlDatabase PowerShell.

  1. Open PowerShell.

  2. Verbinding maken naar uw Azure-account en vermeld alle abonnementen die aan uw account zijn gekoppeld.

  3. Selecteer het abonnement dat de database bevat die u wilt herstellen.

  4. Vermeld de herstelpunten voor de toegewezen SQL-pool (voorheen SQL DW).

  5. Kies het gewenste herstelpunt met de RestorePointCreationDate.

  6. Herstel de toegewezen SQL-pool (voorheen SQL DW) naar het gewenste herstelpunt met behulp van de Cmdlet Restore-AzSqlDatabase PowerShell.

    1. Als u de toegewezen SQL-pool (voorheen SQL DW) wilt herstellen naar een andere server, moet u de andere servernaam opgeven. Deze server kan zich ook in een andere resourcegroep en regio bevinden.
    2. Als u wilt herstellen naar een ander abonnement, raadpleegt u de onderstaande sectie.
  7. Controleer of de herstelde toegewezen SQL-pool (voorheen SQL DW) online is.

  8. Nadat het herstellen is voltooid, kunt u de herstelde toegewezen SQL-pool (voorheen SQL DW) configureren door de database na herstel te configureren.

    
    $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
    

Herstel een bestaande toegewezen SQL-pool (voorheen SQL DW) via Azure Portal

  1. Meld u aan bij de Azure-portal.

  2. Navigeer naar de toegewezen SQL-pool waaruit u wilt herstellen.

  3. Selecteer bovenaan de pagina Overzicht de optie Herstellen.

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

  4. Selecteer Automatische herstelpunten of door de gebruiker gedefinieerde herstelpunten. Als de toegewezen SQL-pool (voorheen SQL DW) geen automatische herstelpunten heeft, wacht u enkele uren of maakt u een door de gebruiker gedefinieerd herstelpunt voordat u herstelt. Voor door de gebruiker gedefinieerde herstelpunten selecteert u een bestaande of maakt u een nieuwe. Voor Server kunt u een server kiezen in een andere resourcegroep en regio of een nieuwe maken. Nadat u alle parameters hebt opgegeven, selecteert u Controleren en herstellen.

    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.

Een bestaande toegewezen SQL-pool (voorheen SQL DW) herstellen naar een ander abonnement via PowerShell

Dit is vergelijkbaar met de richtlijnen voor het herstellen van een bestaande toegewezen SQL-pool, maar in de onderstaande instructies ziet u dat de PowerShell-cmdlet Get-AzSqlDatabase PowerShell moet worden uitgevoerd in het oorspronkelijke abonnement, terwijl de Cmdlet Restore-AzSqlDatabase PowerShell moet worden uitgevoerd in het doelabonnement. De gebruiker die de herstelbewerking uitvoert, moet over de juiste machtigingen beschikken in zowel de bron- als doelabonnementen.

  1. Open PowerShell.

  2. Werk Az.Sql-module bij naar 3.8.0 (of hoger) als u een oudere versie gebruikt Update-Module. Anders veroorzaakt dit fouten. De versie valideren met 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. Verbinding maken naar uw Azure-account en vermeld alle abonnementen die aan uw account zijn gekoppeld.

  4. Selecteer het abonnement dat de database bevat die u wilt herstellen.

  5. Vermeld de herstelpunten voor de toegewezen SQL-pool (voorheen SQL DW).

  6. Kies het gewenste herstelpunt met de RestorePointCreationDate.

  7. Selecteer het doelabonnement waarin de database moet worden hersteld.

  8. Herstel de toegewezen SQL-pool (voorheen SQL DW) naar het gewenste herstelpunt met behulp van de Cmdlet Restore-AzSqlDatabase PowerShell.

  9. Controleer of de herstelde toegewezen SQL-pool (voorheen SQL DW) online is.

    $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