Ripristinare il backup di database SQL Server in macchine virtuali di Azure
Questo articolo descrive come ripristinare un database SQL Server in esecuzione in una macchina virtuale di Azure di cui è stato eseguito il backup del 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 SQL Server in macchine virtuali di Azure.
Nota
Per altre informazioni sulle configurazioni e sugli scenari supportati, vedere la matrice di supporto per il backup SQL .
Eseguire il ripristino in un momento o in un punto di ripristino
Backup di Azure possibile ripristinare SQL Server database in esecuzione nelle macchine virtuali di Azure come indicato di seguito:
- Eseguire il ripristino in una data o un'ora specifica (al secondo) usando i backup del log delle transazioni. Backup di Azure determina automaticamente il backup differenziale completo appropriato e la catena di backup del log necessari per il ripristino in base all'ora selezionata.
- Ripristinare un backup completo o differenziale specifico per eseguire il ripristino in 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 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 la procedura di risoluzione dei problemi.
- Per ripristinare un database con crittografia TDE in un altro SQL Server, è necessario prima 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 (model, msdb), arrestare il servizio SQL Server Agent prima di attivare il ripristino.
- Chiudere tutte le applicazioni che potrebbero provare a stabilire una connessione a uno di questi database.
Ripristinare un database
Per eseguire il ripristino, 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.
- Accesso collaboratore (scrittura) 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 al 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 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 i file sono presenti usando SQL Server Management Studio.
Ripristinare in un percorso alternativo
Nel menu Ripristina configurazione , in Dove ripristinare, 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 eseguire il ripristino in un punto specifico nel tempo o eseguire il ripristino in 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, immettere nuovi percorsi di destinazione.
Selezionare OK per attivare il ripristino. Tenere traccia dello stato di ripristino nell'area Notifiche oppure tenere traccia dello stato di avanzamento del ripristino nella visualizzazione Processi di backup nell'insieme di credenziali.
Nota
Il ripristino temporizzato è disponibile solo per i backup del log per i database con registrazione completa e con registrazione minima delle operazioni bulk.
Ripristinare e sovrascrivere
Nel menu Configurazione ripristino , in Dove ripristinare, selezionare Sovrascrivi DB>OK.
In Seleziona punto di ripristino selezionareLog (temporizzato) per eseguire il ripristino a un punto specifico nel tempo. In alternativa, selezionare Differenziale completo & per eseguire il ripristino in un punto di ripristino specifico.
Nota
Il ripristino temporizzato è disponibile solo per i backup del log per i database con registrazione completa e con registrazione minima delle operazioni bulk.
Ripristinare come file
Per ripristinare i dati di backup come file con estensione bak anziché come database, scegliere Ripristina come file. Dopo aver eseguito il dump dei file in un percorso specificato, è possibile portare questi file in qualsiasi computer in cui si desidera ripristinarli come database. Poiché è possibile spostare questi file in qualsiasi computer, è ora possibile ripristinare i dati tra sottoscrizioni e aree.
In Dove e come eseguire il ripristino selezionare Ripristina come file.
Selezionare il nome 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
Selezionare OK.
Selezionare Punto di ripristino e scegliere se eseguire il ripristino in un punto specifico nel tempo o eseguire il ripristino in un punto di ripristino specifico.
Tutti i file di backup associati al punto di ripristino selezionato vengono scaricati nel percorso di destinazione. È possibile ripristinare i 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 vengono visualizzate le date con punti di ripristino 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 tempo per il ripristino nel grafico della sequenza temporale o selezionare un'ora. Quindi scegliere OK.
Ripristino parziale come file
Il servizio Backup di Azure decide che 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 di fulls settimanali, differenziali giornalieri e log e i file già scaricati per un determinato differenziale. Si è scoperto che questo non è il punto di recupero giusto e ha deciso di scaricare il differenziale del giorno successivo. A questo punto è sufficiente il file differenziale poiché è già disponibile l'avvio completo. Con il ripristino parziale come possibilità di file, fornito da Backup di Azure, è ora possibile escludere il 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 gli overridi 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 punto di ripristino devono essere esclusi nel ripristino successivo come operazione di file.
Nel computer di destinazione in cui scaricare i file passare alla cartella "C:\Programmi\Backup del carico di lavoro di Azure\bin"
Creare un nuovo file JSON denominato "ExtensionSettingsOverrides.JSON", se non esiste già.
Aggiungere la coppia di valori della 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.
L'unico RecoveryPointTypesToBeExcludedForRestoreAsFiles
valore accetta valori specifici che indicano i punti di ripristino da escludere durante il ripristino. Per SQL, questi valori sono:
- ExcludeFull (Altri tipi di backup, ad esempio differenziali e log, verranno scaricati, se presenti nella catena di punti di ripristino)
- ExcludeFullAndDifferential (Altri tipi di backup, ad esempio i log, verranno scaricati, se presenti nella catena del punto di ripristino)
- ExcludeFullAndIncremental (Altri tipi di backup, ad esempio i log, verranno scaricati, se presenti nella catena del punto di ripristino)
- ExcludeFullAndDifferentialAndIncremental (Altri tipi di backup come i log verranno scaricati, se presenti nella catena di punti di ripristino)
Ripristinare uno specifico punto di ripristino
Se è stato selezionato Full & 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 Filtra e selezionando un intervallo personalizzato.
Ripristinare database con un numero elevato di file
Se la dimensione totale delle stringhe di file in un database è maggiore di un determinato limite, Backup di Azure archivia l'elenco dei file di database in un componente pit diverso in modo che non sia possibile impostare il percorso di ripristino di destinazione durante l'operazione di ripristino. I file verranno ripristinati al percorso predefinito SQL.
Ripristinare un database da un file con estensione bak usando SSMS
È possibile usare Ripristina come operazione File per ripristinare i file di database in .bak
formato durante il ripristino dall'portale di Azure. Altre informazioni
Al termine del ripristino del .bak
file 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 MOVE
clausola 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). È anche possibile abilitare l'inizializzazione immediata dei file nel server di destinazione per ridurre il sovraccarico del tempo di inizializzazione dei file.
Per spostare i file di database dal server di ripristino di destinazione, è possibile eseguire il frame di un comando TSQL usando le MOVE
clausole.
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 aggiuntive MOVE
alla query di ripristino. È anche possibile usare SSMS per il ripristino del database usando .bak
file. Altre informazioni
Nota
Per il ripristino di database di grandi dimensioni, è consigliabile usare istruzioni TSQL. Se si desidera 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
Come una delle opzioni di ripristino, il ripristino tra aree consente di ripristinare i database SQL ospitati in macchine virtuali di Azure in un'area secondaria, ovvero un'area associata di Azure.
Per eseguire l'onboarding della 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.
- Dal portale passare a Elementidi backupdell'insieme di credenziali> di Servizi di ripristino.
- Selezionare Area secondaria per visualizzare gli elementi nell'area secondaria.
Nota
Nell'elenco verranno visualizzati solo i tipi di gestione dei 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 ripristino per configurare il ripristino, verrà richiesto di fornire solo parametri di area secondaria. Un insieme di credenziali deve esistere nell'area secondaria e il server SQL deve essere registrato nell'insieme di credenziali nell'area secondaria.
Nota
- Dopo aver attivato il 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 in aree incrociate è il ruolo dell'operatore di backup nella sottoscrizione e nell'accesso collaboratore (scrittura) nelle macchine virtuali di origine e di destinazione. Per visualizzare i processi di backup, _ Backup reader_ è la premissione minima richiesta 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 + durata della frequenza di log , che può essere impostata su un minimo di 15 minuti.
Monitoraggio dei processi di ripristino delle aree secondarie
Nella portale di Azure passare aProcessi di backupdel centro> backup.
Filtrare l'operazione per CrossRegionRestore per visualizzare i processi nell'area secondaria.
Passaggi successivi
Gestire e monitorare i database SQL Server sottoposti a backup tramite Backup di Azure.