Con il database SQL di Azure, è possibile configurare un criterio di conservazione a lungo termine dei backup (LTR) per conservare automaticamente i backup in contenitori di archiviazione BLOB di Azure separati per un massimo di 10 anni. È quindi possibile ripristinare un database usando questi backup tramite il portale di Azure, l'interfaccia della riga di comando di Azure o PowerShell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere tramite l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
Il modulo Azure Resource Manager di PowerShell è ancora supportato da Database SQL di Azure, ma tutte le attività di sviluppo future sono incentrate sul modulo Az.Sql. Per informazioni su questi cmdlet, vedere AzureRM.Sql. Gli argomenti per i comandi nei moduli Az e AzureRm sono sostanzialmente identici.
Per Get-AzSqlDatabaseLongTermRetentionBackup e Restore-AzSqlDatabase, è necessario essere membri di uno dei seguenti ruoli:
Proprietario della sottoscrizione
Ruolo di collaboratore della sottoscrizione o
Ruolo di Collaboratore SQL Server o
Ruolo personalizzato con le autorizzazioni seguenti:
Il ruolo Collaboratore SQL Server non dispone dell'autorizzazione per eliminare i backup LTR.
È possibile concedere le autorizzazioni di controllo degli accessi in base al ruolo (RBAC) in ambito di sottoscrizione o gruppo di risorse. Per accedere ai backup con conservazione a lungo termine che appartengono a un server eliminato, questa autorizzazione dev'essere concessa nell'ambito della sottoscrizione di tale server:
È possibile configurare il database SQL per conservare i backup automatizzati per un periodo più lungo rispetto al periodo di conservazione associato al livello di servizio.
Nel portale di Azure, andare sul proprio server e selezionare Backup. Selezionare la scheda Criteri di conservazione per modificare le impostazioni di conservazione dei backup.
Nella scheda Criteri di conservazione, selezionare i database in cui si vuole impostare o modificare i criteri di conservazione a lungo termine dei backup. I database non selezionati non saranno interessati dalla modifica.
Nel riquadro Configura criteri, specificare il periodo di conservazione desiderato per i backup settimanali, mensili o annuali. Scegliere un periodo di conservazione pari a "0" per indicare che non dev'essere impostata alcuna conservazione dei backup a lungo termine.
Selezionare Applica per applicare le impostazioni di conservazione desiderate a tutti i database selezionati.
Importante
Quando si Abilita un criterio di conservazione dei backup a lungo termine, potrebbe essere necessario attendere fino a 7 giorni prima che il primo backup diventi visibile e disponibile per il ripristino. Per informazioni dettagliate sulla frequenza dei backup con conservazione a lungo termine, vedere conservazione dei backup a lungo termine.
Eseguire il comando az sql db ltr-policy set per creare un criterio di conservazione a lungo termine. Nel seguente esempio, viene impostato un criterio di conservazione a lungo termine per 12 settimane per il backup settimanale.
az sql db ltr-policy set \
--resource-group mygroup \
--server myserver \
--name mydb \
--weekly-retention "P12W"
In questo esempio viene impostato un criterio di conservazione di 12 settimane per il backup settimanale, di 5 anni per il backup annuale e la settimana del 15 aprile in cui eseguire il backup annuale con conservazione a lungo termine.
az sql db ltr-policy set \
--resource-group mygroup \
--server myserver \
--name mydb \
--weekly-retention "P12W" \
--yearly-retention "P5Y" \
--week-of-year 16
# get the SQL server
$subId = "<subscriptionId>"
$serverName = "<serverName>"
$resourceGroup = "<resourceGroupName>"
$dbName = "<databaseName>"
Connect-AzAccount
Select-AzSubscription -SubscriptionId $subId
$server = Get-AzSqlServer -ServerName $serverName -ResourceGroupName $resourceGroup
# create LTR policy with WeeklyRetention = 12 weeks. MonthlyRetention and YearlyRetention = 0 by default.
Set-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
-ResourceGroupName $resourceGroup -WeeklyRetention P12W
# create LTR policy with WeeklyRetention = 12 weeks, YearlyRetention = 5 years and WeekOfYear = 16 (week of April 15). MonthlyRetention = 0 by default.
Set-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
-ResourceGroupName $resourceGroup -WeeklyRetention P12W -YearlyRetention P5Y -WeekOfYear 16
Visualizzare i backup e ripristinare da backup
Visualizzare i backup conservati per un database specifico con un criterio di conservazione a lungo termine ed eseguire il ripristino da tali backup.
Nel portale di Azure, andare sul proprio server e selezionare Backup. Per visualizzare i backup con conservazione a lungo termine disponibili per un database specifico, selezionare Gestisci nella colonna Backup con conservazione a lungo termine disponibili. Viene visualizzato un riquadro con un elenco dei backup con conservazione a lungo termine disponibili per il database selezionato.
Nel riquadro Backup con conservazione a lungo termine disponibili visualizzato, esaminare i backup disponibili. Selezionare un backup da cui eseguire il ripristino.
Per ripristinare un backup con conservazione a lungo termine disponibile, selezionare il backup da cui si vuole eseguire il ripristino e quindi selezionare Ripristina.
Scegliere un nome per il nuovo database, quindi selezionare Rivedi e crea per rivedere i dettagli del ripristino. Selezionare Crea per ripristinare il database dal backup desiderato.
Sulla barra degli strumenti, selezionare l'icona di notifica per visualizzare lo stato del processo di ripristino.
Al termine del processo di ripristino, aprire la pagina Database SQL per visualizzare il database appena ripristinato.
Visualizzare i criteri di conservazione a lungo termine
Eseguire il comando az sql db ltr-policy show per visualizzare i criteri di conservazione a lungo termine per un database singolo nel server.
az sql db ltr-policy show \
--resource-group mygroup \
--server myserver \
--name mydb
Visualizzare i backup con conservazione a lungo termine
Usare il comando az sql db ltr-backup list per elencare i backup con conservazione a lungo termine per un database. È possibile usare questo comando per trovare il parametro name da utilizzare in altri comandi.
az sql db ltr-backup list \
--location eastus2 \
--server myserver \
--database mydb
Eseguire il ripristino dai backup con conservazione a lungo termine
Ripristinare il database dal backup con conservazione a lungo termine.
az sql db ltr-backup restore \
--dest-database targetdb \
--dest-server myserver \
--dest-resource-group mygroup \
--backup-id $get_backup_id
Importante
Per eseguire il ripristino di un backup con conservazione a lungo termine dopo che il server o il gruppo di risorse è stato eliminato, è necessario disporre delle autorizzazioni nell'ambito della sottoscrizione al server e che la sottoscrizione sia attiva. È anche necessario omettere il parametro facoltativo -ResourceGroupName.
Nota
Da qui è possibile connettersi al database ripristinato usando SQL Server Management Studio per eseguire le attività necessarie, ad esempio lo scambio di database. Vedere ripristino temporizzato.
Visualizzare i criteri di conservazione a lungo termine
Questo esempio illustra come elencare i criteri di conservazione a lungo termine in un server.
# get all LTR policies within a server
$ltrPolicies = Get-AzSqlDatabase -ResourceGroupName $resourceGroup -ServerName $serverName | `
Get-AzSqlDatabaseLongTermRetentionPolicy
# get the LTR policy of a specific database
$ltrPolicies = Get-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
-ResourceGroupName $resourceGroup
Cancellare i criteri di conservazione a lungo termine
Questo esempio illustra come cancellare i criteri di conservazione a lungo termine da un database.
Visualizzare i backup con conservazione a lungo termine
Questo esempio illustra come elencare i backup con conservazione a lungo termine in un server.
# get the list of all LTR backups in a specific Azure region
# backups are grouped by the logical database id, within each group they are ordered by the timestamp, the earliest backup first
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location
# get the list of LTR backups from the Azure region under the named server
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName
# get the LTR backups for a specific database from the Azure region under the named server
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName -DatabaseName $dbName
# list LTR backups only from live databases (you have option to choose All/Live/Deleted)
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -DatabaseState Live
# only list the latest LTR backup for each database
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName -OnlyLatestPerDatabase
Eseguire il ripristino dai backup con conservazione a lungo termine
Questo esempio illustra come eseguire il ripristino da un backup con conservazione a lungo termine. Si noti che questa interfaccia non è stata modificata, ma il parametro ID della risorsa richiede ora l'ID della risorsa del backup con conservazione a lungo termine.
# restore a specific LTR backup as an P1 database on the server $serverName of the resource group $resourceGroup
Restore-AzSqlDatabase -FromLongTermRetentionBackup -ResourceId $ltrBackup.ResourceId -ServerName $serverName -ResourceGroupName $resourceGroup `
-TargetDatabaseName $dbName -ServiceObjectiveName P1
Importante
Per eseguire il ripristino di un backup con conservazione a lungo termine dopo che il server o il gruppo di risorse è stato eliminato, è necessario disporre delle autorizzazioni nell'ambito della sottoscrizione al server e che la sottoscrizione sia attiva. È anche necessario omettere il parametro facoltativo -ResourceGroupName.
Se si usano backup con conservazione a lungo termine per soddisfare i requisiti di conformità o altri requisiti cruciali, si consiglia di eseguire esercitazioni periodiche di ripristino per verificare che i backup con conservazione a lungo termine possano essere ripristinati e che il ripristino restituisca lo stato previsto del database.
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.
Eliminare i backup con conservazione a lungo termine
Eliminare i backup conservati per un database specifico con un criterio di conservazione a lungo termine.
Importante
L'eliminazione di un backup con conservazione a lungo termine non è reversibile. Per eliminare un backup LTR dopo che il server è stato eliminato, è necessario disporre dell'autorizzazione nell'ambito della sottoscrizione. È possibile impostare le notifiche su ogni eliminazione in Monitoraggio di Azure filtrando in base all'operazione di 'eliminazione di un backup con conservazione a lungo termine'. Il log attività contiene informazioni su chi ha effettuato la richiesta e sul momento in cui è stata effettuata. Per istruzioni dettagliate, vedere Creare gli avvisi del log attività.
Nel portale di Azure, passare al server logico del database SQL di Azure.
Selezionare Backup. Per visualizzare i backup con conservazione a lungo termine disponibili per un database specifico, selezionare Gestisci nella colonna Backup con conservazione a lungo termine disponibili. Viene visualizzato un riquadro con un elenco dei backup con conservazione a lungo termine disponibili per il database selezionato.
Nel riquadro Backup con conservazione a lungo termine disponibili visualizzato, esaminare i backup disponibili. Selezionare un backup da eliminare. Selezionare Elimina.
Se si usano backup con conservazione a lungo termine per soddisfare i requisiti di conformità o altri requisiti cruciali:
Verificare che i backup con conservazione a lungo termine vengano eseguiti in base ai criteri configurati seguendo i passaggi descritti nella sezione Visualizza backup usando il portale, l'interfaccia della riga di comando di Azure o PowerShell.
Si consiglia di eseguire esercitazioni periodiche di ripristino per verificare che il ripristino dei backup con conservazione a lungo termine restituisca lo stato previsto del database.
Contenuto correlato
Per informazioni sui backup automatici generati dal servizio, vedere l'articolo relativo ai backup automatici