Configurare e ripristinare dalla conservazione dei backup a lungo termine del database SQL di Azure

È possibile configurare l'insieme di credenziali di Servizi di ripristino di Azure per archiviare i backup del database SQL di Azure e quindi ripristinare un database tramite backup conservati nell'insieme di credenziali usando il portale di Azure o PowerShell.

Portale di Azure

Nelle sezioni seguenti viene illustrato come usare il portale di Azure per configurare l'insieme di credenziali di Servizi di ripristino di Azure, visualizzare i backup nell'insieme di credenziali ed eseguire il ripristino dall'insieme di credenziali.

Configurare l'insieme di credenziali, registrare il server e selezionare i database

Si configurerà un insieme di credenziali di Servizi di ripristino di Azure per conservare i backup automatici per un periodo più lungo rispetto al periodo di conservazione associato al livello di servizio.

  1. Aprire la pagina SQL Server per il server in uso.

    pagina sql server

  2. Fare clic su Conservazione backup a lungo termine.

    collegamento conservazione backup a lungo termine

  3. Nella pagina Conservazione backup a lungo termine del server in uso leggere e accettare le condizioni preliminari (se non sono già state accettate o se questa funzionalità non è più in versione di anteprima).

    accettare le condizioni preliminari

  4. Per configurare la conservazione a lungo termine dei backup, selezionare il database nella griglia e quindi fare clic su Configura sulla barra degli strumenti.

    selezione del database per la conservazione backup a lungo termine

  5. Nella pagina Configura fare clic su Configurare le impostazioni necessarie in Insieme di credenziali di Servizi di ripristino.

    collegamento configurazione dell'insieme di credenziali

  6. Nella pagina Insieme di credenziali di Servizi di ripristino selezionare un insieme di credenziali esistente, se disponibile. In caso contrario, se per la propria sottoscrizione non è presente alcun insieme di credenziali dei servizi di ripristino, fare clic per chiudere il flusso e creare un insieme di credenziali dei servizi di ripristino.

    collegamento crea insieme di credenziali

  7. Nella pagina Insiemi di credenziali dei servizi di ripristino fare clic su Aggiungi.

    collegamento aggiungi insieme di credenziali

  8. Nella pagina Insieme di credenziali di Servizi di ripristino specificare un nome valido per l'insieme di credenziali di Servizi di ripristino.

    nome nuovo insieme di credenziali

  9. Selezionare la propria sottoscrizione e il relativo gruppo di risorse e quindi specificare il percorso per l'insieme di credenziali. Al termine, fare clic su Crea.

    crea insieme di credenziali

    Importante

    L'insieme di credenziali deve trovarsi nella stessa area del server logico di Azure SQL e deve usare lo stesso gruppo di risorse del server logico.

  10. Dopo aver creato il nuovo insieme di credenziali, eseguire i passaggi necessari per tornare alla pagina Insieme di credenziali di Servizi di ripristino.

  11. Nella pagina Insieme di credenziali di Servizi di ripristino fare clic sull'insieme di credenziali e quindi su Seleziona.

    selezione insieme di credenziali esistente

  12. Nella pagina Configura specificare un nome valido per i nuovi criteri di conservazione, modificare i criteri di conservazione predefiniti in base alle esigenze e quindi fare clic su OK.

    definizione dei criteri di conservazione

  13. Nella pagina Conservazione backup a lungo termine del database in uso fare clic su Salva e quindi su OK per applicare i criteri di conservazione dei backup a lungo termine a tutti i database selezionati.

    definizione dei criteri di conservazione

  14. Fare clic su Salva per abilitare la conservazione dei backup a lungo termine usando i nuovi criteri per l'insieme di credenziali di Servizi di ripristino di Azure appena configurato.

    definizione dei criteri di conservazione

Importante

Dopo essere stati configurati, i backup verranno visualizzati nell'insieme di credenziali entro i successivi sette giorni. Non continuare questa esercitazione finché i backup non verranno visualizzati nell'insieme di credenziali.

Visualizzare i backup nella conservazione a lungo termine con il portale di Azure

Visualizzare informazioni sui backup del database nella conservazione backup a lungo termine.

  1. Nel portale di Azure aprire l'insieme di credenziali di Servizi di ripristino di Azure per i backup del database (andare a Tutte le risorse e selezionarlo dall'elenco delle risorse correlate alla sottoscrizione) per visualizzare la quantità di spazio di archiviazione usata dai backup del database nell'insieme di credenziali.

    visualizzazione dell'insieme di credenziali dei servizi di ripristino con i backup

  2. Aprire la pagina Database SQL per il database.

    nuova pagina del database di esempio

  3. Sulla barra degli strumenti fare clic su Ripristina.

    barra degli strumenti di ripristino

  4. Nella pagina Ripristina fare clic su A lungo termine.

  5. Nei backup dell'insieme di credenziali di Azure fare clic su Selezionare un backup per visualizzare i backup di database disponibili nella conservazione dei backup a lungo termine.

    backup nell'insieme di credenziali

Ripristinare un database da un backup nella conservazione backup a lungo termine con il portale di Azure

È possibile ripristinare il database a un nuovo database ricavato da un backup nell'insieme di credenziali di Servizi di ripristino di Azure.

  1. Nella pagina Backup degli insiemi di credenziali di Azure fare clic sul backup da ripristinare e quindi su Seleziona.

    selezione del backup dell'insieme di credenziali

  2. Nella casella di testo Nome database immettere un nome per il database ripristinato.

    nuovo nome database

  3. Fare clic su OK per ripristinare il database dal backup presente nell'insieme di credenziali al nuovo database.

  4. Sulla barra degli strumenti fare clic sull'icona di notifica per visualizzare lo stato del processo di ripristino.

    avanzamento del processo di ripristino dall'insieme di credenziali

  5. Al termine del processo di ripristino, aprire la pagina Database SQL per visualizzare il database appena ripristinato.

    database ripristinato dall'insieme di credenziali

Nota

A questo punto è possibile connettersi al database ripristinato usando SQL Server Management Studio per eseguire le attività necessarie, ad esempio per estrarre un bit di dati dal database ripristinato da copiare nel database esistente o per eliminare il database esistente e rinominare il database ripristinato con il nome del database esistente.

PowerShell

Nelle sezioni seguenti viene illustrato come usare PowerShell per configurare l'insieme di credenziali di Servizi di ripristino di Azure, visualizzare i backup nell'insieme di credenziali ed eseguire il ripristino dall'insieme di credenziali.

Creare un insieme di credenziali di Servizi di ripristino

Usare New-AzureRmRecoveryServicesVault per creare un nuovo insieme di credenziali dei servizi di ripristino.

Importante

L'insieme di credenziali deve trovarsi nella stessa area del server logico di Azure SQL e deve usare lo stesso gruppo di risorse del server logico.

# Create a recovery services vault

#$resourceGroupName = "{resource-group-name}"
#$serverName = "{server-name}"
$serverLocation = (Get-AzureRmSqlServer -ServerName $serverName -ResourceGroupName $resourceGroupName).Location
$recoveryServiceVaultName = "{new-vault-name}"

$vault = New-AzureRmRecoveryServicesVault -Name $recoveryServiceVaultName -ResourceGroupName $ResourceGroupName -Location $serverLocation 
Set-AzureRmRecoveryServicesBackupProperties -BackupStorageRedundancy LocallyRedundant -Vault $vault

Impostare il server per usare l'insieme di credenziali di ripristino per i backup con conservazione a lungo termine

Usare il cmdlet Set-AzureRmSqlServerBackupLongTermRetentionVault per associare un insieme di credenziali dei servizi di ripristino creato in precedenza a un server di Azure SQL specifico.

# Set your server to use the vault to for long-term backup retention 

Set-AzureRmSqlServerBackupLongTermRetentionVault -ResourceGroupName $resourceGroupName -ServerName $serverName -ResourceId $vault.Id

Creare un criterio di conservazione

Un criterio di conservazione consente di impostare per quanto tempo mantenere il backup di un database. Usare il cmdlet Get-AzureRmRecoveryServicesBackupRetentionPolicyObject per ottenere il criterio di conservazione predefinito usato come modello per la creazione di criteri. In questo modello il periodo di conservazione è di 2 anni. Eseguire quindi New-AzureRmRecoveryServicesBackupProtectionPolicy per creare i criteri.

Nota

Per alcuni cmdlet è necessario impostare il contesto dell'insieme di credenziali prima dell'esecuzione (Set-AzureRmRecoveryServicesVaultContext), pertanto questo cmdlet è presente in alcuni frammenti correlati. Il contesto viene impostato perché i criteri fanno parte dell'insieme di credenziali. È possibile creare più criteri di conservazione per ogni insieme di credenziali e quindi applicare il criterio desiderato a database specifici.

# Retrieve the default retention policy for the AzureSQLDatabase workload type
$retentionPolicy = Get-AzureRmRecoveryServicesBackupRetentionPolicyObject -WorkloadType AzureSQLDatabase

# Set the retention value to two years (you can set to any time between 1 week and 10 years)
$retentionPolicy.RetentionDurationType = "Years"
$retentionPolicy.RetentionCount = 2
$retentionPolicyName = "my2YearRetentionPolicy"

# Set the vault context to the vault you are creating the policy for
Set-AzureRmRecoveryServicesVaultContext -Vault $vault

# Create the new policy
$policy = New-AzureRmRecoveryServicesBackupProtectionPolicy -name $retentionPolicyName -WorkloadType AzureSQLDatabase -retentionPolicy $retentionPolicy
$policy

Configurare un database per usare il criterio di conservazione definito prima

Usare il cmdlet Set-AzureRmSqlDatabaseBackupLongTermRetentionPolicy per applicare i nuovi criteri a un database specifico.

# Enable long-term retention for a specific SQL database
$policyState = "enabled"
Set-AzureRmSqlDatabaseBackupLongTermRetentionPolicy -ResourceGroupName $resourceGroupName -ServerName $serverName -DatabaseName $databaseName -State $policyState -ResourceId $policy.Id

Visualizzare le informazioni sui backup e i backup nella conservazione a lungo termine

Visualizzare informazioni sui backup del database nella conservazione backup a lungo termine.

Usare i cmdlet seguenti per visualizzare le informazioni di backup:

#$resourceGroupName = "{resource-group-name}"
#$serverName = "{server-name}"
$databaseNeedingRestore = $databaseName

# Set the vault context to the vault we want to restore from
#$vault = Get-AzureRmRecoveryServicesVault -ResourceGroupName $resourceGroupName
Set-AzureRmRecoveryServicesVaultContext -Vault $vault

# the following commands find the container associated with the server 'myserver' under resource group 'myresourcegroup'
$container = Get-AzureRmRecoveryServicesBackupContainer -ContainerType AzureSQL -FriendlyName $vault.Name

# Get the long-term retention metadata associated with a specific database
$item = Get-AzureRmRecoveryServicesBackupItem -Container $container -WorkloadType AzureSQLDatabase -Name $databaseNeedingRestore

# Get all available backups for the previously indicated database
# Optionally, set the -StartDate and -EndDate parameters to return backups within a specific time period
$availableBackups = Get-AzureRmRecoveryServicesBackupRecoveryPoint -Item $item
$availableBackups

Ripristinare un database da un backup nella conservazione dei backup a lungo termine

Il ripristino dalla conservazione backup a lungo termine usa il cmdlet Restore-AzureRmSqlDatabase.

# Restore the most recent backup: $availableBackups[0]
#$resourceGroupName = "{resource-group-name}"
#$serverName = "{server-name}"
$restoredDatabaseName = "{new-database-name}"
$edition = "Basic"
$performanceLevel = "Basic"

$restoredDb = Restore-AzureRmSqlDatabase -FromLongTermRetentionBackup -ResourceId $availableBackups[0].Id -ResourceGroupName $resourceGroupName `
 -ServerName $serverName -TargetDatabaseName $restoredDatabaseName -Edition $edition -ServiceObjectiveName $performanceLevel
$restoredDb

Nota

A questo punto è possibile connettersi al database ripristinato usando SQL Server Management Studio per eseguire le attività necessarie, ad esempio per estrarre un bit di dati dal database ripristinato da copiare nel database esistente o per eliminare il database esistente e rinominare il database ripristinato con il nome del database esistente. Vedere ripristino temporizzato.

Passaggi successivi