Ripristinare un pool SQL dedicato esistente (in precedenza SQL Data Warehouse)

Questo articolo illustra come ripristinare un pool SQL dedicato esistente (in precedenza SQL Data Warehouse) usando portale di Azure e PowerShell.

Nota

Queste indicazioni sono solo per pool SQL dedicati autonomi (in precedenza SQL Data Warehouse). Per i pool SQL dedicati in un'area di lavoro di Azure Synapse Analytics, vedere Ripristinare un pool SQL dedicato esistente.

Operazioni preliminari

  1. Verificare la capacità in DTU. Ogni pool è ospitato da un server SQL logico (ad esempio, myserver.database.windows.net) che ha una quota DTU predefinita. Verificare che il server disponga di una quota DTU rimanente sufficiente per il database da ripristinare. Per informazioni su come calcolare la DTU necessaria o per richiedere altre DTU, vedere come richiedere una modifica della quota DTU.

  2. Assicurarsi di installare Azure PowerShell.

    Nota

    È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

  3. Disporre di un punto di ripristino esistente da cui si vuole eseguire il ripristino. Per creare un nuovo ripristino, vedere l'esercitazione per creare un nuovo punto di ripristino definito dall'utente.

Ripristinare un pool SQL dedicato esistente (in precedenza SQL Data Warehouse) tramite PowerShell

Per ripristinare un pool SQL dedicato esistente (in precedenza SQL Data Warehouse) da un punto di ripristino, usare il cmdlet di PowerShell Restore-AzSqlDatabase .

  1. Aprire PowerShell.

  2. Connettersi al proprio account Azure ed elencare tutte le sottoscrizioni associate all'account.

  3. Selezionare la sottoscrizione che contiene il database da ripristinare.

  4. Elencare i punti di ripristino per il pool SQL dedicato (in precedenza SQL Data Warehouse).

  5. Selezionare il punto di ripristino desiderato utilizzando RestorePointCreationDate.

  6. Ripristinare il pool SQL dedicato (in precedenza SQL Data Warehouse) nel punto di ripristino desiderato usando il cmdlet di PowerShell Restore-AzSqlDatabase .

    1. Per ripristinare il pool SQL dedicato (in precedenza SQL Data Warehouse) in un server diverso, assicurarsi di specificare l'altro nome del server. Questo server può anche trovarsi in un gruppo di risorse e un'area diversi.
    2. Per eseguire il ripristino in una sottoscrizione diversa, vedere la sezione seguente.
  7. Verificare che il pool SQL dedicato ripristinato (in precedenza SQL Data Warehouse) sia online.

  8. Al termine del ripristino, è possibile configurare il pool SQL dedicato ripristinato (in precedenza SQL Data Warehouse) seguendo questa procedura per configurare il database dopo il ripristino.

    
    $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
    

Ripristinare un pool SQL dedicato esistente (in precedenza SQL Data Warehouse) tramite il portale di Azure

  1. Accedere al portale di Azure.

  2. Passare al pool SQL dedicato da cui si vuole eseguire il ripristino.

  3. Nella parte superiore della pagina Panoramica selezionare Ripristina.

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

  4. Selezionare Punto di ripristino automatico o Punti di ripristino definiti dall'utente. Se il pool SQL dedicato (in precedenza SQL Data Warehouse) non dispone di punti di ripristino automatici, attendere alcune ore o creare un punto di ripristino definito dall'utente prima del ripristino. Per Punti di ripristino definiti dall'utente, selezionare uno esistente o crearne uno nuovo. Per Server è possibile selezionare un server in un gruppo di risorse e un'area diversi oppure crearne uno nuovo. Dopo aver specificato tutti i parametri, selezionare Rivedi e ripristina.

    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.

Ripristinare un pool SQL dedicato esistente (in precedenza, SQL DW) in una sottoscrizione diversa tramite PowerShell

Si tratta di indicazioni simili al ripristino di un pool SQL dedicato esistente, ma le istruzioni seguenti mostrano che il cmdlet PowerShell Get-AzSqlDatabase deve essere eseguito nella sottoscrizione di origine mentre il cmdlet PowerShell Restore-AzSqlDatabase deve essere eseguito nella sottoscrizione di destinazione. L'utente che esegue il ripristino deve disporre delle autorizzazioni appropriate nelle sottoscrizioni di origine e di destinazione.

  1. Aprire PowerShell.

  2. Aggiornare il modulo Az.Sql alla versione 3.8.0 (o successiva) se in una versione precedente usando Update-Module. In caso contrario, causerà errori. Per convalidare la versione 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. Connettersi al proprio account Azure ed elencare tutte le sottoscrizioni associate all'account.

  4. Selezionare la sottoscrizione che contiene il database da ripristinare.

  5. Elencare i punti di ripristino per il pool SQL dedicato (in precedenza SQL Data Warehouse).

  6. Selezionare il punto di ripristino desiderato utilizzando RestorePointCreationDate.

  7. Selezionare la sottoscrizione di destinazione in cui ripristinare il database.

  8. Ripristinare il pool SQL dedicato (in precedenza SQL Data Warehouse) nel punto di ripristino desiderato usando il cmdlet di PowerShell Restore-AzSqlDatabase .

  9. Verificare che il pool SQL dedicato ripristinato (in precedenza SQL Data Warehouse) sia 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