Ripristinare il backup di database SQL Server in macchine virtuali di Azure
Questo articolo descrive come ripristinare un database di SQL Server in esecuzione in una macchina virtuale (VM) di Azure di cui è stato eseguito il backup con il servizio Backup di Azure in un insieme di credenziali di Servizi di ripristino di Backup di Azure.
Questo articolo descrive come ripristinare i database SQL Server. Per altre informazioni, vedere Eseguire il backup di database di SQL Server in macchine virtuali di Azure.
Nota
Per altre informazioni sulle configurazioni e sugli scenari supportati, vedere la matrice di supporto del backup di SQL.
Eseguire il ripristino a un momento o punto di ripristino
Backup di Azure può ripristinare database SQL Server in esecuzione nelle macchine virtuali di Azure seguendo questa procedura:
- Ripristinare una data specifica o un'ora (al secondo), usando i backup del log delle transazioni. In base ai tempi di ripristino specificati, Backup di Azure determina automaticamente i backup completi, differenziali e la catena di backup del log necessari per ripristinare in base all'ora selezionata.
- Ripristinare un backup completo o differenziale specifico per il ripristino a un punto di ripristino specifico.
Prerequisiti di ripristino
Prima di ripristinare un database, tenere presente quanto segue:
- È possibile ripristinare il database in un'istanza di SQL Server nella stessa area di Azure.
- Il server di destinazione deve essere registrato nello stesso insieme di credenziali dell'origine. Se si desidera ripristinare i backup in un insieme di credenziali diverso, abilitare il ripristino tra sottoscrizioni.
- Se in un server sono in esecuzione più istanze, devono essere tutte attive. In caso contrario, il server non verrà visualizzato nell'elenco dei server di destinazione in cui ripristinare il database. Per altre informazioni, vedere i passaggi per la risoluzione dei problemi.
- Per ripristinare in un altro SQL Server un database con crittografia TDE, innanzitutto occorre ripristinare il certificato nel server di destinazione.
- I database abilitati per CDC devono essere ripristinati usando l'opzione Ripristina come file.
- È consigliabile ripristinare il database "master" usando l'opzione Ripristina come file e quindi ripristinare usando i comandi T-SQL.
- Per tutti i database di sistema (modello, msdb), arrestare il servizio SQL Server Agent prima di attivare il ripristino.
- Chiudere tutte le applicazioni che potrebbero provare a usare una connessione di uno di questi database.
- Per i database master, l'opzione Percorso alternativo per il ripristino non è supportata. È consigliabile ripristinare il database master usando l'opzione Ripristina come file e quindi ripristinare usando i comandi
T-SQL
. - Per
msdb
emodel
, l'opzione Posizione alternativa per il ripristino è supportata solo quando il nome del database ripristinato è diverso dal nome del database di destinazione. Se si vuole ripristinare lo stesso nome con il database di destinazione, è consigliabile eseguire il ripristino usando l'opzione Ripristina come file e quindi ripristinare usando i comandiT-SQL
.
Ripristinare un database
Per ripristinare, sono necessarie le autorizzazioni seguenti:
- Operatore di backup: autorizzazioni nell'insieme di credenziali in cui si esegue il ripristino.
- Collaboratore (scrittura) accesso all'origine della macchina virtuale con backup eseguito.
- Collaboratore (scrittura) accesso alla macchina virtuale di destinazione:
- Se si esegue il ripristino nella stessa macchina virtuale, questa è la macchina virtuale di origine.
- Se si esegue il ripristino in un percorso alternativo, questa è la nuova macchina virtuale di destinazione.
È possibile eseguire il ripristino nel modo seguente:
Nel portale di Azure passare a Centro backup e fare clic su Ripristina.
Selezionare SQL nella macchina virtuale di Azure come tipo di origine dati, selezionare un database da ripristinare e fare clic su Continua.
In Configurazione di ripristino, specificare dove (o come) ripristinare i dati:
Percorso alternativo: consente di ripristinare il database in un percorso diverso mantenendo il database di origine.
Sovrascrivi database: ripristina i dati nella stessa istanza di SQL Server dell'origine. Questa opzione sovrascrive il database originale.
Importante
Se il database selezionato appartiene a un gruppo di disponibilità Always On, SQL Server non consente di sovrascrivere il database. È disponibile solo Percorso alternativo.
Ripristina come file: invece di eseguire il ripristino come database, ripristinare i file di backup che possono essere ripristinati come database in un secondo momento in qualsiasi computer in cui sono presenti i file usando SQL Server Management Studio.
Ripristinare in un percorso alternativo
Nel menu Configurazione di ripristino, in Posizione ripristino, selezionare Percorso alternativo.
Selezionare il nome di SQL Server e l'istanza in cui si vuole ripristinare il database.
Nella finestra di dialogo Nome del database ripristinato inserire il nome del database di destinazione.
Se applicabile, scegliere Sovrascrivere se il database con lo stesso nome esiste già nell'istanza selezionata di SQL.
Selezionare Punto di ripristino e scegliere se ripristinare a un punto specifico temporizzato oppure ripristinare a un punto di ripristino specifico.
Nel menu Configurazione avanzata:
Se si vuole mantenere il database non operativo dopo il ripristino, abilitare Ripristina con NORECOVERY.
Se si vuole modificare il percorso di ripristino nel server di destinazione, specificare nuovi percorsi di destinazione.
Selezionare OK per attivare il ripristino. Tenere traccia dello stato di avanzamento del ripristino nell'area Notifiche oppure tenere traccia dello stato nella visualizzazione Processi di backup nell'insieme di credenziali.
Nota
Il ripristino temporizzato è disponibile solo per i backup del log per i database che sono in modalità di ripristino con registrazione completa e registrazione minima delle operazioni bulk.
Ripristinare e sovrascrivere
Nel menu Configurazione di ripristino in Posizione di ripristino, selezionare Sovrascrivi database>OK.
In Seleziona punto di ripristino selezionare Log (temporizzato) per eseguire il ripristino a un punto specifico temporizzato. In alternativa, selezionare Completo e differenziale per eseguire il ripristino a un punto di ripristino specifico.
Nota
Il ripristino temporizzato è disponibile solo per i backup del log per i database che sono in modalità di ripristino con registrazione completa e registrazione minima delle operazioni bulk.
Ripristinare come file
Per ripristinare i dati di backup come file .bak anziché come database, scegliere Ripristina come file. Dopo aver eseguito il dump dei file in un percorso specificato, è possibile spostare questi file in qualsiasi computer in cui si intende ripristinarli come database. Dal momento che è possibile spostare questi file in qualsiasi computer, è ora possibile ripristinare i dati tra sottoscrizioni e aree diverse.
In Dove e come eseguire il ripristino selezionare Ripristina come file.
Selezionare il nome di SQL Server in cui si desidera ripristinare i file di backup.
Nel percorso di destinazione del server immettere il percorso della cartella nel server selezionato nel passaggio 2. Si tratta del percorso in cui il servizio eseguirà il dump di tutti i file di backup necessari. In genere, quando viene specificato come percorso di destinazione, un percorso di condivisione di rete o un percorso di una condivisione file di Azure montata consente di accedere più facilmente a questi file da altri computer nella stessa rete o con la stessa condivisione file di Azure montata in essi.
Nota
Per ripristinare i file di backup del database in una condivisione file di Azure montata nella macchina virtuale registrata di destinazione, assicurarsi che NT AUTHORITY\SYSTEM abbia accesso alla condivisione file. È possibile eseguire i passaggi indicati di seguito per concedere le autorizzazioni di lettura/scrittura al file AFS montato nella macchina virtuale:
- Eseguire
PsExec -s cmd
per accedere alla shell NT AUTHORITY\SYSTEM- Eseguire
cmdkey /add:<storageacct>.file.core.windows.net /user:AZURE\<storageacct> /pass:<storagekey>
- Verificare l'accesso con
dir \\<storageacct>.file.core.windows.net\<filesharename>
- Eseguire
- Avviare un ripristino come file dall'insieme di credenziali di backup a
\\<storageacct>.file.core.windows.net\<filesharename>
come percorso
È possibile scaricare PsExec dalla pagina Sysinternals.
- Eseguire
Seleziona OK.
Selezionare Punto di ripristino e scegliere se ripristinare a un punto specifico temporizzato oppure ripristinare a un punto di ripristino specifico.
Quando si esegue il ripristino temporizzato del database SQL usando Ripristina come file, verranno archiviati tutti i punti di ripristino dal backup completo al punto temporizzato selezionato. È quindi possibile eseguire il ripristino usando questi file come database in qualsiasi computer in cui sono presenti usando SQL Server Management Studio.
Ripristinare un punto temporizzato specifico
Se si è scelto log (punto temporizzato) come tipo di ripristino, eseguire le operazioni seguenti:
In Data/ora di ripristino aprire il calendario. Nel calendario, le date con punti di ripristino vengono visualizzate in grassetto e la data corrente è evidenziata.
Selezionare una data con punti di ripristino. Non è possibile selezionare le date senza punti di ripristino.
Dopo aver selezionato una data, il grafico della sequenza temporale indica i punti di recupero disponibili in un intervallo continuo.
Specificare un'ora per il ripristino sul grafico della sequenza temporale, o selezionare un'ora. Quindi, seleziona OK.
Ripristino parziale come file
Il servizio Backup di Azure decide la catena di file da scaricare durante il ripristino come file. Tuttavia, esistono scenari in cui potrebbe non essere necessario scaricare nuovamente l'intero contenuto.
Ad esempio, quando si dispone di un criterio di backup completi settimanali, differenziali giornalieri e log e i file per un particolare differenziale sono già stati scaricati. Si è scoperto che questo non è il punto di ripristino corretto e si è deciso di scaricare il differenziale del giorno successivo. A questo punto è sufficiente il file differenziale perché è già stato avviato il file completo. Con la possibilità di eseguire il ripristino parziale come file, fornito da Backup di Azure, è ora possibile escludere quello completo dalla catena di download e scaricare solo il differenziale.
Esclusione dei tipi di file di backup
ExtensionSettingsOverrides.json è un file JSON (JavaScript Object Notation) che contiene le sostituzioni per più impostazioni del servizio Backup di Azure per SQL. Per l'operazione "Ripristino parziale come file", è necessario aggiungere un nuovo campo RecoveryPointTypesToBeExcludedForRestoreAsFiles
JSON. Questo campo contiene un valore stringa che indica quali tipi di punti di ripristino devono essere esclusi nell'operazione di ripristino successiva come file.
Nel computer di destinazione in cui si devono scaricare i file, passare alla cartella "C:\Program Files\Azure Workload Backup\bin"
Creare un nuovo file JSON denominato "ExtensionSettingsOverrides.JSON", se non esiste già.
Aggiungere la coppia di valori di chiave JSON seguente
{ "RecoveryPointTypesToBeExcludedForRestoreAsFiles": "ExcludeFull" }
Non è necessario riavviare alcun servizio. Il servizio Backup di Azure tenterà di escludere i tipi di backup nella catena di ripristino, come indicato in questo file.
RecoveryPointTypesToBeExcludedForRestoreAsFiles
accetta solo valori specifici che indicano i punti di ripristino da escludere durante il ripristino. Per SQL, questi valori sono:
- ExcludeFull (verranno scaricati altri tipi di backup, ad esempio differenziali e log, se presenti nella catena di punti di ripristino)
- ExcludeFullAndDifferential (verranno scaricati altri tipi di backup, ad esempio log, se presenti nella catena di punti di ripristino)
- ExcludeFullAndIncremental (verranno scaricati altri tipi di backup, ad esempio log, se presenti nella catena di punti di ripristino)
- ExcludeFullAndDifferentialAndIncremental (verranno scaricati altri tipi di backup, ad esempio log, se presenti nella catena di punti di ripristino)
Ripristinare uno specifico punto di ripristino
Se si è scelto Completo e differenziale come tipo di ripristino, eseguire le operazioni seguenti:
Selezionare un punto di recupero dall’elenco e fare clic su OK per completare la procedura dei punti di ripristino.
Nota
Per impostazione predefinita, vengono visualizzati i punti di ripristino degli ultimi 30 giorni. È possibile visualizzare i punti di ripristino precedenti a 30 giorni selezionando Filtro e selezionando un intervallo personalizzato.
Ripristinare database con un numero elevato di file
Se la dimensione totale della stringa dei file in un database è maggiore di un determinato limite, Backup di Azure archivia l'elenco dei file di database in un componente di pit diverso in modo da non poter impostare il percorso di ripristino di destinazione durante l'operazione di ripristino. I file verranno ripristinati nel percorso predefinito SQL.
Ripristinare un database da .bak file usando SSMS
È possibile usare l'operazione Ripristina come file per ripristinare i file di database in formato .bak
durante il ripristino dal portale di Azure. Altre informazioni.
Al termine del ripristino del file .bak
nella macchina virtuale di Azure, è possibile attivare il ripristino usando i comandi TSQL tramite SSMS.
Per ripristinare i file di database nel percorso originale nel server di origine, rimuovere la clausola MOVE
dalla query di ripristino TSQL.
Esempio
USE [master]
RESTORE DATABASE [<DBName>] FROM DISK = N'<.bak file path>'
Nota
Non è consigliabile avere gli stessi file di database nel server di destinazione (ripristino con sostituzione). Inoltre, è possibile abilitare l'inizializzazione immediata dei file nel server di destinazione per ridurre il sovraccarico del tempo di inizializzazione dei file.
Per rilocare i file di database dal server di ripristino di destinazione, è possibile incorniciare un comando TSQL usando le clausole MOVE
.
USE [master]
RESTORE DATABASE [<DBName>] FROM DISK = N'<.bak file path>' MOVE N'<LogicalName1>' TO N'<TargetFilePath1OnDisk>', MOVE N'<LogicalName2>' TO N'<TargetFilePath2OnDisk>' GO
Esempio
USE [master]
RESTORE DATABASE [test] FROM DISK = N'J:\dbBackupFiles\test.bak' WITH FILE = 1, MOVE N'test' TO N'F:\data\test.mdf', MOVE N'test_log' TO N'G:\log\test_log.ldf', NOUNLOAD, STATS = 5
GO
Se sono presenti più di due file per il database, è possibile aggiungere clausole MOVE
aggiuntive alla query di ripristino. È anche possibile usare SSMS per il ripristino del database usando file .bak
. Altre informazioni.
Nota
Per il ripristino di database di grandi dimensioni, è consigliabile usare istruzioni TSQL. Per spostare i file di database specifici, vedere l'elenco dei file di database nel formato JSON creato durante l'operazione Ripristina come file .
Ripristino tra aree
Essendo una delle opzioni di ripristino, il ripristino tra aree consente di ripristinare database SQL ospitati nelle macchine virtuali di Azure in un'area secondaria, ovvero un'area abbinata di Azure.
Per eseguire l'onboarding nella funzionalità, leggere la sezione Prima di iniziare.
Per verificare se CRR è abilitato, seguire le istruzioni in Configurare il ripristino tra aree
Visualizzare gli elementi di backup nell'area secondaria
Se CRR è abilitato, è possibile visualizzare gli elementi di backup nell'area secondaria.
- Nel portale passare a Insieme di credenziali di Servizi di ripristino>Elementi di backup.
- Selezionare Area secondaria per visualizzare gli elementi nell'area secondaria.
Nota
Nell'elenco verranno visualizzati solo i tipi di gestione di backup che supportano la funzionalità CRR. Attualmente è consentito solo il supporto per il ripristino dei dati dell'area secondaria in un'area secondaria.
Ripristino nell'area secondaria
L'esperienza utente per il ripristino dell'area secondaria sarà simile all'esperienza utente per il ripristino dell'area primaria. Quando si configurano i dettagli nel riquadro Configurazione di ripristino per configurare il ripristino, verrà richiesto di specificare solo i parametri dell'area secondaria. Deve esistere un insieme di credenziali nell'area secondaria e il server SQL deve essere registrato nell'insieme di credenziali nell'area secondaria.
Nota
- Dopo l'attivazione del ripristino e nella fase di trasferimento dei dati, il processo di ripristino non può essere annullato.
- Il livello di ruolo/accesso necessario per eseguire l'operazione di ripristino tra aree è il ruolo Operatore di backup nella sottoscrizione e l'accesso come Collaboratore (scrittura) nelle macchine virtuali di origine e di destinazione. Per visualizzare i processi di backup, Lettore di backup è l'autorizzazione minima necessaria nella sottoscrizione.
- L'RPO per i dati di backup da rendere disponibili nell'area secondaria è di 12 ore. Pertanto, quando si attiva CRR, l'RPO per l'area secondaria è di 12 ore e la durata della frequenza del log (che può essere impostata su un minimo di 15 minuti).
Informazioni sui requisiti minimi di ruolo per il ripristino tra aree.
Monitoraggio dei processi di ripristino dell'area secondaria
Nel Portale di Azure passare a Centro backup>Processi di backup.
Operazione di filtro per CrossRegionRestore per visualizzare i processi nell'area secondaria.
Ripristino tra sottoscrizioni
Backup di Azure consente ora di ripristinare il database SQL in qualsiasi sottoscrizione (in base ai requisiti di Controllo degli accessi in base al ruolo di Azure seguenti) dal punto di ripristino. Per impostazione predefinita, Backup di Azure esegue il ripristino nella stessa sottoscrizione in cui sono disponibili i punti di ripristino.
Con il ripristino tra sottoscrizioni è possibile eseguire il ripristino in qualsiasi sottoscrizione e in qualsiasi insieme di credenziali nel tenant, se sono disponibili le autorizzazioni di ripristino. Per impostazione predefinita, il ripristino tra sottoscrizioni è abilitato in tutti gli insiemi di credenziali di Servizi di ripristino (insiemi di credenziali esistenti e appena creati).
Nota
- È possibile attivare il ripristino tra sottoscrizioni dall'insieme di credenziali di Servizi di ripristino.
- Il ripristino tra aree è supportato solo per i backup basati su streaming e non è supportato per i backup basati su snapshot.
- Il ripristino tra aree combinato con il ripristino tra sottoscrizioni non è supportato.
Requisiti di Controllo degli accessi in base al ruolo di Azure
Tipo di operazione | Backup Operators | Insieme di credenziali di Servizi di ripristino | Operatore alternativo |
---|---|---|---|
Eseguire il ripristino del database o come file | Virtual Machine Contributor |
Macchina virtuale di origine di cui è stato eseguito il backup | Anziché un ruolo predefinito, è possibile considerare un ruolo personalizzato con le autorizzazioni seguenti: - Microsoft.Compute/virtualMachines/write - Microsoft.Compute/virtualMachines/read |
Virtual Machine Contributor |
Macchina virtuale di destinazione in cui verrà ripristinato il database o verranno creati i file. | Anziché un ruolo predefinito, è possibile considerare un ruolo personalizzato con le autorizzazioni seguenti: - Microsoft.Compute/virtualMachines/write - Microsoft.Compute/virtualMachines/read |
|
Backup Operator |
Insieme di credenziali di Servizi di ripristino di destinazione |
Per impostazione predefinita, CSR è abilitato nell'insieme di credenziali di Servizi di ripristino. Per aggiornare le impostazioni di ripristino dell'insieme di credenziali di Servizi di ripristino, passare a Proprietà>Ripristino tra sottoscrizioni e apportare le modifiche necessarie.
Passaggi successivi
Gestire e monitorare i database SQL Server di cui è stato eseguito il backup in Backup di Azure.