In Istanza gestita di SQL di Azure è possibile configurare una policy (LTR) secondo il criterio di conservazione dei backup a lungo termine. Questo consente di conservare automaticamente i backup del database 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 e PowerShell.
Le seguenti sezioni illustrano come usare il portale di Azure, PowerShell e l'interfaccia della riga di comando di Azure per configurare la conservazione a lungo termine dei backup, visualizzare i backup nella risorsa di archiviazione di Azure SQL ed eseguire il ripristino da un backup nella risorsa di archiviazione di Azure SQL.
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-AzSqlInstanceDatabaseLongTermRetentionBackup e Restore-AzSqlInstanceDatabase, è necessario essere membri di uno dei seguenti ruoli:
Proprietario della sottoscrizione
Ruolo Collaboratore di Istanza gestita di SQL oppure
Ruolo personalizzato con le autorizzazioni seguenti:
Il ruolo Collaboratore per Istanza gestita di SQL non ha l'autorizzazione per l'eliminazione di backup con conservazione a lungo termine.
È possibile concedere le autorizzazioni per il controllo degli accessi in base al ruolo in ambito di sottoscrizione o gruppo di risorse. Per accedere ai backup con conservazione a lungo termine appartenenti a un server eliminato, l'autorizzazione deve essere concessa nell'ambito della sottoscrizione di tale server.
È possibile configurare Istanza gestita di 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 selezionare l'istanza gestita e quindi Backup. Nella scheda Configura criteri selezionare il database in cui si vuole impostare o modificare i criteri di conservazione a lungo termine dei backup. Le modifiche non verranno applicate ad alcun database non selezionato.
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.
Al termine, selezionare Applica.
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 LTR, vedere conservazione dei backup a lungo termine.
Eseguire il comando az sql midb show per ottenere i dettagli per il database Istanza gestita di SQL.
az sql midb show /
--resource-group mygroup /
--managed-instance myinstance /
--name mymanageddb /
--subscription mysubscription
Eseguire il comando az sql midb ltr-policy set per creare un criterio di conservazione a lungo termine. Nell'esempio seguente viene impostato un criterio di conservazione a lungo termine per 12 settimane per il backup settimanale.
az sql midb ltr-policy set /
--resource-group mygroup /
--managed-instance myinstance /
--name mymanageddb /
--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.
Per visualizzare i backup a lungo termine disponibili dal portale di Azure, seguire questa procedura:
Nel portale di Azure selezionare l'istanza gestita e quindi Backup. Nella scheda Available backups (Backup disponibili) selezionare il database per cui si vuole visualizzare i backup disponibili. Seleziona Gestisci.
Nel riquadro Gestisci Backup esaminare i backup disponibili.
È anche possibile eseguire il ripristino da questa pagina scegliendo il backup e selezionando Ripristina.
In alternativa, per ripristinare un backup dalla conservazione a lungo termine usando il portale di Azure, seguire questa procedura:
Passare all’Istanza gestita di SQL di destinazione in cui si prevede di ripristinare il database.
Nella pagina Panoramica scegliere + Nuovo database per aprire la pagina Crea database gestito di Azure SQL.
Nella scheda Informazioni di base della pagina Crea database gestito di Azure SQL, specificare i dettagli della sottoscrizione e del gruppo di risorse in Dettagli progetto. Quindi, in Dettagli database specificare il nuovo nome del database che si intende ripristinare. Verificare che l'istanza gestita corretta sia elencata nell'elenco a discesa. Selezionare quindi Avanti: Origine dati >
Nella scheda Origine dati scegliere Ripristino temporizzato in Usa dati esistenti. Specificare la sottoscrizione, il gruppo di risorse e l'istanza gestita che contiene il database di origine. Nell'elenco a discesa Database gestito scegliere il database da cui si vuole eseguire il ripristino e quindi scegliere il punto nel tempo da cui si vuole ripristinare il database. L'istanza di origine e di destinazione può essere la stessa o due istanze diverse. Selezionare Avanti: Impostazioni aggiuntive >
Nella scheda Impostazioni aggiuntive è possibile selezionare la casella per ereditare i criteri di conservazione dal database di origine oppure, in alternativa, è possibile selezionare Configura conservazione per aprire la pagina Configura criteri e impostare i criteri di conservazione desiderati per il database ripristinato. Al termine, selezionare Rivedi e crea.
Nella scheda Rivedi e crea, al termine della convalida, selezionare Crea per ripristinare il database.
Questa azione avvia il processo di ripristino, che crea un nuovo database e lo popola con i dati del database originale al momento specificato. Per altre informazioni sul processo di recupero, vedere Ora punto di ripristino.
Visualizzare i criteri di conservazione a lungo termine
Eseguire il comando az sql midb ltr-policy show per visualizzare i criteri di conservazione a lungo termine per un singolo database all'interno di un'istanza.
az sql midb ltr-policy show \
--resource-group mygroup \
--managed-instance myinstance \
--name mymanageddb
Visualizzare i backup con conservazione a lungo termine
Usare il comando az sql midb ltr-backup list per visualizzare i backup di conservazione a lungo termine all'interno di un'istanza.
az sql midb ltr-backup list \
--resource-group mygroup \
--location eastus2 \
--managed-instance myinstance
Eseguire il ripristino dai backup con conservazione a lungo termine
Per eseguire il ripristino di un backup con conservazione a lungo termine dopo che l'istanza è stata eliminata, è necessario avere le autorizzazioni nell'ambito della sottoscrizione all'istanza e la sottoscrizione deve essere attiva.
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.
Visualizzare i criteri di conservazione a lungo termine
Questo esempio illustra come elencare i criteri di conservazione a lungo termine all’interno di un’istanza per un database singolo.
# gets the current version of LTR policy for a database
$LTRPolicy = @{
InstanceName = $instanceName
DatabaseName = $dbName
ResourceGroupName = $resourceGroup
}
Get-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRPolicy
Questo esempio illustra come elencare i criteri di conservazione a lungo termine per tutti i database in un’istanza.
# gets the current version of LTR policy for all of the databases on an instance
$Databases = Get-AzSqlInstanceDatabase -ResourceGroupName $resourceGroup -InstanceName $instanceName
$LTRParams = @{
InstanceName = $instanceName
ResourceGroupName = $resourceGroup
}
foreach($database in $Databases.Name){
Get-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRParams -DatabaseName $database
}
Cancellare i criteri di conservazione a lungo termine
Questo esempio illustra come cancellare i criteri di conservazione a lungo termine da un database.
# remove the LTR policy from a database
$LTRPolicy = @{
InstanceName = $instanceName
DatabaseName = $dbName
ResourceGroupName = $resourceGroup
RemovePolicy = $true
}
Set-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRPolicy
Visualizzare i backup con conservazione a lungo termine
Questo esempio illustra come elencare i backup con conservazione a lungo termine in un'istanza.
$instance = Get-AzSqlInstance -Name $instanceName -ResourceGroupName $resourceGroup
# 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
Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $instance.Location
# get the list of LTR backups from the Azure region under the given managed instance
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
# get the LTR backups for a specific database from the Azure region under the given managed instance
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
DatabaseName = $dbName
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
# list LTR backups only from live databases (you have option to choose All/Live/Deleted)
$LTRBackupParam = @{
Location = $instance.Location
DatabaseState = 'Live'
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
# only list the latest LTR backup for each database
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
OnlyLatestPerDatabase = $true
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
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 instance $instanceName of the resource group $resourceGroup
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
DatabaseName = $dbname
OnlyLatestPerDatabase = $true
}
$ltrBackup = Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
$RestoreLTRParam = @{
TargetInstanceName = $instanceName
TargetResourceGroupName = $resourceGroup
TargetInstanceDatabaseName = $dbName
FromLongTermRetentionBackup = $true
ResourceId = $ltrBackup.ResourceId
}
Restore-AzSqlInstanceDatabase @RestoreLTRParam
Importante
Per eseguire il ripristino di un backup con conservazione a lungo termine dopo che l'istanza è stata eliminata, è necessario avere le autorizzazioni nell'ambito della sottoscrizione all'istanza e la sottoscrizione deve essere attiva. È anche necessario omettere il parametro facoltativo -ResourceGroupName.
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 con conservazione a lungo termine dopo che l'istanza è stata eliminata, è necessario avere l'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, andare sull’Istanza gestita di SQL.
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.
Questo esempio illustra come eliminare il primo backup con conservazione a lungo termine dall'elenco di backup. Questo esempio ottiene l'elenco dei backup di conservazione a lungo termine per un database specifico dall'area di Azure nell'istanza gestita di SQL specificata.
# remove the earliest backup
# get the LTR backups for a specific database from the Azure region under the given SQL managed instance
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
DatabaseName = $dbName
}
$ltrBackups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
$ltrBackup = $ltrBackups[0]
Remove-AzSqlInstanceDatabaseLongTermRetentionBackup -ResourceId $ltrBackup.ResourceId
Limiti
I backup dei database eseguiti da istanze configurate con i criteri di aggiornamento di SQL Server 2022 possono essere ripristinati su istanze configurate con i criteri di aggiornamento di SQL Server 2022 o sempre aggiornati. I backup dei database eseguiti da istanze configurate con i criteri di aggiornamento sempre aggiornati possono essere ripristinati solo su istanze anch'esse configurate con i criteri di aggiornamento sempre aggiornati.
Passaggi successivi
Per informazioni sui backup automatici generati dal servizio, vedere l'articolo relativo ai backup automatici.