Ripristinare un database in Istanza gestita di SQL di Azure a un punto precedente nel tempo

Si applica a:Istanza gestita di SQL di Azure

È possibile usare il ripristino temporizzato per creare un database che rappresenta una copia di un database in un momento specifico e precedente. Questo articolo descrive come eseguire un ripristino temporizzato di un database in Istanza gestita di SQL di Azure.

Nota

Creazione o aggiornamento v02.01.2022 è stato deprecato. A partire da gennaio 2023, usare la chiamata API Create o Update v5.0.2022 sostitutiva per tutte le operazioni di ripristino del database.

Panoramica

Il ripristino temporizzato è utile negli scenari di ripristino, ad esempio per un evento imprevisto causato da errore o errore, quando i dati non vengono caricati correttamente o se vengono eliminati dati cruciali. È anche possibile usarlo semplicemente per testare e controllare la distribuzione del database. I file di backup di Azure vengono conservati per 7-35 giorni a seconda delle impostazioni del database.

È possibile usare il ripristino temporizzato per ripristinare un database in questi scenari:

  • Da un database esistente
  • Da un database eliminato
  • Nella stessa istanza gestita o in un'istanza gestita diversa
  • Per un'istanza gestita nella stessa sottoscrizione o in un'istanza gestita in una sottoscrizione diversa

La tabella seguente illustra gli scenari di ripristino temporizzato per Istanza gestita di SQL:

Scenario Azure portal Interfaccia della riga di comando di Azure PowerShell
Ripristinare un database esistente nella stessa istanza gestita
Ripristinare un database esistente in un'istanza gestita diversa
Ripristinare un database eliminato nella stessa istanza gestita
Ripristinare un database eliminato in un'istanza gestita diversa
Ripristinare un database esistente in un'istanza gestita in un'altra sottoscrizione
Ripristinare un database eliminato in un'istanza gestita in un'altra sottoscrizione

Autorizzazioni

Per ripristinare un database, è necessario:

Per ripristinare il database in una sottoscrizione di destinazione diversa, se non si è nel ruolo collaboratore Istanza gestita di SQL è necessario disporre delle autorizzazioni seguenti:

  • Microsoft.Sql/managedInstances/databases/readBackups/action nell'istanza gestita di SQL di origine.
  • Microsoft.Sql/managedInstances/crossSubscriptionPITR/action nell'istanza gestita di SQL di destinazione.

Per altre informazioni, vedere Controllo degli accessi in base al ruolo di Azure: ruoli predefiniti.

Limiti

Queste limitazioni si applicano al ripristino temporizzato in Istanza gestita di SQL:

  • Non è possibile usare il ripristino temporizzato per ripristinare un'intera distribuzione Istanza gestita di SQL. Usare il ripristino temporizzato solo per creare una copia di un database ospitato in Istanza gestita di SQL.

  • Le limitazioni nel ripristino temporizzato dipendono dal fatto che si stia ripristinando il database in un'istanza gestita nella stessa sottoscrizione o in un'istanza gestita in una sottoscrizione diversa.

  • Quando i criteri degli endpoint di servizio sono abilitati in Istanza gestita di SQL di Azure, l'inserimento di criteri di endpoint di servizio in una subnet impedisce ripristini temporizzato da istanze in subnet diverse.

Avviso

Tenere presente le dimensioni di archiviazione dell'istanza gestita. A seconda delle dimensioni dei dati da ripristinare, è possibile che si esaurisca l'archiviazione per l'istanza gestita. Se non si dispone di spazio di archiviazione sufficiente nell'istanza gestita per i dati ripristinati, usare un approccio diverso.

Eseguire il ripristino nella stessa sottoscrizione

Se si esegue il ripristino da un'istanza gestita a un'altra istanza gestita nella stessa sottoscrizione di Azure, entrambe le istanze gestite devono trovarsi nella stessa area. Attualmente, il ripristino tra aree non è supportato.

Ripristino in una sottoscrizione diversa

Il ripristino di un backup temporizzato tra sottoscrizioni presenta le limitazioni seguenti:

  • Entrambe le sottoscrizioni devono trovarsi nella stessa area.
  • Entrambe le sottoscrizioni devono trovarsi nello stesso tenant.
  • Il tipo di sottoscrizione deve essere Contratto Enterprise, Cloud Solution Provider, Microsoft Certified Partner o con pagamento in base al consumo.
  • È possibile usare l'azione di ripristino solo nell'istanza primaria.
  • È possibile ripristinare un backup solo dall'area primaria. Il ripristino di un database dall'area secondaria con replica geografica non è supportato per il ripristino temporizzato tra sottoscrizioni.
  • L'utente che esegue l'azione di ripristino deve avere l'assegnazione di ruolo collaboratore Istanza gestita di SQL o disporre di queste autorizzazioni esplicite:
    • Microsoft.Sql/managedInstances/databases/readBackups/action nell'istanza gestita di SQL di origine.
    • Microsoft.Sql/managedInstances/crossSubscriptionPITR/action nell'istanza gestita di SQL di destinazione.
  • Se si usa la propria chiave (BYOK), la chiave deve essere presente in entrambe le sottoscrizioni.

Ripristinare un database esistente

È possibile ripristinare un database esistente nella stessa sottoscrizione usando il portale di Azure, PowerShell o l'interfaccia della riga di comando di Azure. Se si esegue il ripristino in un'istanza diversa nella stessa sottoscrizione usando PowerShell o l'interfaccia della riga di comando di Azure, assicurarsi di specificare le proprietà per la risorsa Istanza gestita di SQL di destinazione. Il database viene ripristinato nella stessa istanza per impostazione predefinita.

Se si esegue il ripristino in una sottoscrizione diversa, la chiamata API Create o Update v5.0.2022 sottostante l'azione di ripristino deve contenere restorePointInTime, crossSubscriptionTargetManagedInstanceIde o crossSubscriptionSourceDatabaseIdcrossSubscriptionRestorableDroppedDatabaseId.

Per ripristinare un database esistente, è possibile passare alla pagina del database nel portale di Azure e selezionare Ripristina.

In alternativa, per ripristinare il database, è possibile seguire questa procedura:

  1. Accedi al portale di Azure.

  2. Passare al Istanza gestita di SQL di destinazione in cui si prevede di ripristinare il database.

  3. Nella pagina Panoramica scegliere + Nuovo database per aprire la pagina Crea database gestito di SQL di Azure.

    Screenshot that shows the SQL Managed Instance overview pane in the Azure portal, with adding a new database selected.

  4. Nella scheda Informazioni di base della pagina Crea database gestito di SQL di Azure 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 >

    Screenshot of the Azure portal that shows the Basics tab of the Create Azure SQL Managed Database page.

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

    Screenshot of the Azure portal that shows the data source tab of the Create Azure SQL Managed Database page, with point-in-time restore selected.

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

    Screenshot of the Azure portal that shows the additional settings tab of the Create Azure SQL Managed Database page.

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

Ripristino di un database eliminato

È possibile ripristinare un database eliminato usando il portale di Azure, Azure PowerShell o l'interfaccia della riga di comando di Azure.

Per ripristinare un database gestito eliminato utilizzando il portale di Azure:

  1. Nella portale di Azure passare all'istanza gestita di origine.

  2. Nel menu a sinistra in Gestione dati selezionare Backup.

  3. In Mostra database selezionare Eliminato.

  4. Per ripristinare il database, selezionare Ripristina.

    Screenshot that shows available databases in the portal, with the Restore button highlighted to restore a deleted database.

  5. In Crea database gestito di SQL di Azure immettere o selezionare i dettagli per l'istanza gestita di destinazione in cui ripristinare il database. Selezionare la scheda Origine dati.

  6. In Origine dati immettere o selezionare i dettagli per il database di origine. Selezionare la scheda Impostazioni aggiuntive.

  7. In Impostazioni aggiuntive configurare le impostazioni di conservazione. Selezionare la scheda Rivedi e crea.

  8. In Rivedi e crea selezionare Crea per ripristinare il database eliminato.

Sovrascrivere un database esistente

Per sovrascrivere un database esistente, è necessario eseguire le operazioni seguenti:

  1. Eliminare il database originale da sovrascrivere.
  2. Rinominare il database ripristinato dal punto nel tempo al nome del database eliminato.

Eliminare il database originale

È possibile eliminare il database tramite il portale di Azure, PowerShell o l'interfaccia della riga di comando di Azure.

Un'altra opzione per eliminare il database consiste nel connettersi all'istanza gestita direttamente in SQL Server Management Studio (SSMS) e quindi usare il DROP comando Transact-SQL (T-SQL):

DROP DATABASE WorldWideImporters;

Usare uno dei metodi seguenti per connettersi al database nell'istanza gestita:

  1. Nella portale di Azure selezionare il database nell'istanza gestita.

  2. Nella barra dei comandi selezionare Elimina.

    Screenshot that shows how to delete a database by using the Azure portal.

Modificare il nuovo nome del database in modo che corrisponda al nome del database originale

Usare SQL Server Management Studio (SSMS) per connettersi direttamente all'istanza gestita. Eseguire quindi la query T-SQL seguente. La query modifica il nome del database ripristinato con il nome del database eliminato che si intende sovrascrivere.

ALTER DATABASE WorldWideImportersPITR MODIFY NAME = WorldWideImporters;

Usare uno dei metodi seguenti per connettersi al database nell'istanza gestita:

Passaggi successivi

Informazioni sui backup automatizzati.