Condividi tramite


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 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 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 SQL.

Eseguire il ripristino in un momento o in un punto di ripristino

Backup di Azure possibile ripristinare i database di SQL Server in esecuzione in macchine virtuali di Azure come indicato di seguito:

  • Ripristinare 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 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 un database crittografato TDE in un altro SQL Server, è prima necessario 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 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:

  1. Nella portale di Azure passare al Centro backup e fare clic su Ripristina.

    Screenshot showing the start the restore process.

  2. Selezionare SQL nella macchina virtuale di Azure come tipo di origine dati, selezionare un database da ripristinare e fare clic su Continua.

    Screenshot showing to select the datasource type.

  3. 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

  1. Nel menu Ripristina configurazione, in Dove ripristinare, selezionare Percorso alternativo.

  2. Selezionare il nome di SQL Server e l'istanza in cui si vuole ripristinare il database.

  3. Nella finestra di dialogo Nome del database ripristinato inserire il nome del database di destinazione.

  4. Se applicabile, scegliere Sovrascrivere se il database con lo stesso nome esiste già nell'istanza selezionata di SQL.

  5. Selezionare Punto di ripristino e scegliere se eseguire il ripristino in un punto specifico nel tempo o per eseguire il ripristino in un punto di ripristino specifico.

    Screenshot showing to select Restore Point.

    Screenshot showing restore to point in time.

  6. Nel menu Configurazione avanzata:

    • Se si vuole mantenere il database non operativo dopo il ripristino, abilitare Ripristina con NORECOVERY.

    • Per modificare il percorso di ripristino nel server di destinazione, immettere nuovi percorsi di destinazione.

      Enter target paths

  7. 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 con registrazione completa e con registrazione minima delle operazioni bulk.

Ripristinare e sovrascrivere

  1. Nel menu Configurazione ripristino, in Dove ripristinare, selezionare Sovrascrivi DB>OK.

    Select Overwrite DB

  2. In Seleziona punto di ripristino selezionare Log (temporizzato) per eseguire il ripristino a un punto specifico nel tempo. In alternativa, selezionare Full & Differential (Completo e differenziale ) 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 .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.

  1. In Dove e come eseguire il ripristino selezionare Ripristina come file.

  2. Selezionare il nome di SQL Server in cui si desidera ripristinare i file di backup.

  3. 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>
    • 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 .
  4. Seleziona OK.

    Select Restore As Files

  5. Selezionare Punto di ripristino e scegliere se eseguire il ripristino in un punto specifico nel tempo o per eseguire il ripristino in un punto di ripristino specifico.

  6. 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 nel tempo selezionato. È quindi possibile eseguire il ripristino usando questi file come database in qualsiasi computer in cui sono presenti usando SQL Server Management Studio.

    Restored Backup Files in Destination Path

Ripristinare un punto temporizzato specifico

Se si è scelto log (punto temporizzato) come tipo di ripristino, eseguire le operazioni seguenti:

  1. 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.

  2. Selezionare una data con punti di ripristino. Non è possibile selezionare le date senza punti di ripristino.

    Open the calendar

  3. Dopo aver selezionato una data, il grafico della sequenza temporale indica i punti di recupero disponibili in un intervallo continuo.

  4. Specificare un'ora per il ripristino nel grafico della sequenza temporale o selezionare un'ora. Selezionare 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 di completi settimanali, differenziali giornalieri e log e i file già scaricati per un particolare differenziale. 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 l'intero dalla catena di download e scaricare solo il differenziale.

Esclusione dei tipi di file di backup

L'estensione ImpostazioniOverrides.json è un file JSON (JavaScript Object Notation) che contiene override 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.

  1. Nel computer di destinazione in cui scaricare i file passare alla cartella "C:\Programmi\Backup carico di lavoro di Azure\bin"

  2. Creare un nuovo file JSON denominato "Extension ImpostazioniOverrides.JSON", se non esiste già.

  3. Aggiungere la coppia di valori di chiave JSON seguente

    {
    "RecoveryPointTypesToBeExcludedForRestoreAsFiles": "ExcludeFull"
    }
    
  4. 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.

Accetta RecoveryPointTypesToBeExcludedForRestoreAsFiles solo 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 (verranno scaricati altri tipi di backup, ad esempio i log, se presenti nella catena di punti di ripristino)
  • ExcludeFullAndIncremental (altri tipi di backup, ad esempio i log, verranno scaricati, se presenti nella catena di punti di ripristino)
  • ExcludeFullAndDifferentialAndIncremental (altri tipi di backup, ad esempio i log, verranno scaricati, 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:

  1. Selezionare un punto di recupero dall’elenco e fare clic su OK per completare la procedura dei punti di ripristino.

    Choose a full recovery point

    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.

Restore Database with large file

Ripristinare un database da .bak file usando SSMS

È possibile usare l'operazione Ripristina come file per ripristinare i file di database in .bak formato durante il ripristino dalla 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).  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 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. 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

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 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.

  1. Dal portale passare a Elementi di backup dell'insieme di credenziali>di Servizi di ripristino.
  2. 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.

Backup items in secondary region

Databases in secondary region

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 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.

Where and how to restore

Trigger restore in progress notification

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 nell'accesso Collaboratore(scrittura) nelle macchine virtuali di origine e di destinazione. Per visualizzare i processi di backup, il 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 del ruolo per il ripristino tra aree.

Monitoraggio dei processi di ripristino dell'area secondaria

  1. Nella portale di Azure passare a Processi di backup del Centro>backup.

  2. Operazione di filtro per CrossRegionRestore per visualizzare i processi nell'area secondaria.

    Screenshot showing the filtered Backup jobs.

Ripristino tra sottoscrizioni

Backup di Azure ora consente 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 ripristina la 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 autorizzazioni di ripristino. Per impostazione predefinita, csr è 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.
  • Csr è supportato solo per il backup basato su streaming e non è supportato per il backup basato su snapshot.
  • Il ripristino tra aree (CRR) con CSR non è supportato.

Requisiti del controllo degli accessi in base al ruolo di Azure

Tipo di operazione Backup Operators Insieme di credenziali di Servizi di ripristino Operatore alternativo
Ripristinare il database o il ripristino 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.

Screenshot shows how to modify the Cross Subscription Restore settings on a Recovery Services vault for SQL database.

Passaggi successivi

Gestire e monitorare i database di SQL Server sottoposti a backup da Backup di Azure.