Avvio rapido: Ripristinare un database in Istanza gestita di SQL di Azure con SSMS

Si applica a: Istanza gestita di SQL di Azure SQL

In questa guida di avvio rapido si userà SQL Server Management Studio (SSMS) per ripristinare un database dall'archivio BLOB di Azure a Istanza gestita di SQL di Azure. La guida introduttiva ripristina il database di esempio Wide World Importers da un file di backup disponibile pubblicamente usando una firma di accesso condiviso.

Nota

Prerequisiti

La guida introduttiva:

Nota

Per altre informazioni sul backup e sul ripristino di un database di SQL Server con l'archivio BLOB di Azure e una chiave di firma di accesso condiviso, vedere l'articolo relativo al Backup di SQL Server in un URL.

Usare la procedura guidata di ripristino per eseguire il ripristino da un file di backup

In SSMS, seguire la procedura descritta nelle sezioni seguenti per ripristinare il database Wide World Importers in Istanza gestita di SQL tramite la procedura guidata di ripristino. Il file di backup del database è archiviato in un account di archiviazione BLOB di Azure preconfigurato.

Aprire la procedura guidata di ripristino

  1. Aprire SSMS e connettersi all'Istanza gestita di SQL.

  2. In Esplora oggetti fare clic con il pulsante destro del mouse sulla cartella Database dell'istanza gestita di SQL, quindi scegliere Ripristina database per aprire la procedura guidata di ripristino.

    Screenshot di Esplora oggetti in SSMS. La cartella Database è selezionata. Nel menu di scelta rapida è selezionata l'opzione Ripristina database.

Selezionare la fonte di backup

  1. Nella procedura guidata di ripristino selezionare i puntini di sospensione (...) per selezionare l'origine del set di backup da ripristinare.

    Screenshot di una pagina nella procedura guidata di ripristino. Nella sezione Origine è selezionata l'opzione Dispositivo e vengono evidenziati i puntini di sospensione.

  2. Nella finestra Seleziona dispositivi di backup selezionare Aggiungi. In Tipo di supporto di backup l'URL è l'unica opzione disponibile perché è l'unico tipo di origine supportato. Seleziona OK.

    Screenshot della finestra di dialogo Seleziona dispositivi di backup. Vengono visualizzati i pulsanti Aggiungi e OK.

  3. In Selezionare un percorso file di backup scegliere tra una delle tre opzioni per fornire informazioni sul percorso dei file di backup:

    • Selezionare un contenitore di archiviazione preregistrato dall'elenco dei contenitori di archiviazione di Azure.
    • Immettere un nuovo contenitore di archiviazione e una firma di accesso condiviso. Verrà registrata automaticamente una nuova credenziale SQL.
    • Selezionare Aggiungi per esplorare altri contenitori di archiviazione dalla sottoscrizione di Azure.

    Screenshot della finestra di dialogo Seleziona percorso file di backup. Nella sezione Contenitore di archiviazione di Azure è selezionata l'opzione Aggiungi.

    Se si seleziona Aggiungi, passare alla sezione successiva Sfogliare i contenitori di archiviazione delle sottoscrizioni di Azure. Se si usa un metodo diverso per specificare il percorso dei file di backup, passare a Ripristina il database.

    Per ripristinare il database di esempio Wide World Importers dall'archiviazione di sola lettura accessibile pubblicamente, specificare il valore https://mitutorials.blob.core.windows.net/examples/ e, per il campo Firma di accesso condiviso, specificare qualsiasi valore, ad esempio SAS.

    Screenshot della finestra di dialogo Seleziona percorso file di backup. Viene specificato il percorso della cartella WideWorldImporters di esempio. L'opzione selezionata è in rosso.

Esplorare i contenitori di archiviazione delle sottoscrizioni di Azure

Nota

Questi passaggi non sono necessari per ripristinare il database WideWorldImporters di esempio dall'archivio BLOB di Azure accessibile pubblicamente, ma sono necessari per ripristinare i database dal proprio archivio BLOB di Azure.

  1. In Connessione a una sottoscrizione Microsoft selezionare Accedi per accedere alla sottoscrizione di Azure.

    Screenshot della finestra di dialogo Connetti a una Sottoscrizione Microsoft. Viene richiamato il pulsante Accedi.

  2. Accedere all'account Microsoft per avviare la sessione in Azure.

    Screenshot della finestra di dialogo Accedi al tuo account. Il logo Microsoft, una casella di accesso e altri elementi dell'interfaccia utente sono visibili.

  3. Selezionare la sottoscrizione dell'account di archiviazione contenente i file di backup.

    Screenshot della finestra di dialogo Connetti a una Sottoscrizione Microsoft. In Selezionare una sottoscrizione da usare, viene visualizzata la freccia giù nella casella di riepilogo.

  4. Selezionare l'account di archiviazione contenente i file di backup.

    Screenshot della finestra di dialogo Connetti a una Sottoscrizione Microsoft. Viene visualizzata la freccia giù nella casella di riepilogo Seleziona account di archiviazione.

  5. Selezionare il contenitore BLOB che contiene i file di backup.

    Screenshot della finestra di dialogo Connetti a una Sottoscrizione Microsoft. Viene visualizzata la freccia giù nella casella di riepilogo Seleziona contenitore BLOB.

  6. Immettere la data di scadenza dei criteri di accesso condiviso e selezionare Crea credenziali. Viene creata una firma di accesso condiviso con le autorizzazioni corrette. Seleziona OK.

    Screenshot della finestra di dialogo Connetti a una Sottoscrizione Microsoft. Vengono evidenziate Creare credenziali, OK e la casella Scadenza criteri di accesso condiviso.

Ripristinare il database

Dopo aver selezionato un contenitore di archiviazione, verrà visualizzata la finestra di dialogo Individua file di backup in Microsoft Azure.

  1. Nel riquadro sinistro espandere la struttura di cartelle per visualizzare la cartella contenente i file di backup. Nel riquadro destro selezionare tutti i file di backup correlati al set di backup che si sta ripristinando, quindi selezionare OK. Ad esempio, lo screenshot seguente mostra l'archivio BLOB di sola lettura accessibile pubblicamente contenente il database WideWorldImporters di esempio.

    Screenshot della finestra di dialogo Individua file di backup in Microsoft Azure. Il file di backup WideWorldImporters-Standard.bak è selezionato e il pulsante OK è in rosso.

    SSMS convalida il set di backup. Questo processo richiede pochi secondi. La durata dipende dalle dimensioni del set di backup.

  2. Se il backup viene convalidato, è necessario specificare un nome per il database da ripristinare. Per impostazione predefinita, in Destinazione la casella Database contiene il nome del database del set di backup. Per modificare il nome, immettere un nuovo nome per Database. Seleziona OK.

    Screenshot di una pagina nella procedura guidata di ripristino. Nella sezione Destinazione viene visualizzata la casella Database. Viene chiamato anche il pulsante OK.

    Verrà avviato il processo di ripristino. La durata dipende dalle dimensioni del set di backup.

    Screenshot di una pagina nella procedura guidata di ripristino. Viene chiamato un indicatore di stato.

  3. Al termine del processo di ripristino, viene visualizzata una finestra di dialogo che indica che è stato eseguito correttamente. Seleziona OK.

    Screenshot di una finestra di dialogo su una pagina della procedura guidata di ripristino. Un messaggio nella finestra di dialogo indica che il database è stato ripristinato correttamente.

  4. In Esplora oggetti, verificare la presenza del database ripristinato selezionando Aggiorna.

    Screenshot di Esplora oggetti. Viene richiamato il database ripristinato.

Usare T-SQL per eseguire il ripristino da un file di backup

In alternativa alla procedura guidata di ripristino, è possibile usare istruzioni T-SQL per ripristinare un database. In SSMS seguire questa procedura per ripristinare il database Wide World Importers nell'istanza gestita di SQL usando T-SQL. Il file di backup del database è archiviato in un account di archiviazione BLOB di Azure preconfigurato.

  1. Aprire SSMS e connettersi all'Istanza gestita di SQL.

  2. In Esplora oggetti fare clic con il pulsante destro del mouse sull'istanza gestita di SQL e scegliere Nuova query per aprire una nuova finestra di query.

  3. Eseguire lo script SQL seguente, che usa un account di archiviazione preconfigurato e una chiave di firma di accesso condiviso per creare le credenziali nell'istanza gestita di SQL.

    Importante

    • CREDENTIAL deve corrispondere al percorso del contenitore, deve iniziare con https e non può contenere una barra finale.
    • Il parametro IDENTITY deve essere impostato su SHARED ACCESS SIGNATURE.
    • SECRET deve essere il token di firma di accesso condiviso e non può contenere un ? iniziale.
    • In questo esempio viene omesso SECRET perché l'account di archiviazione è disponibile pubblicamente. Se si usa un account di archiviazione non disponibile pubblicamente, è necessario fornire un token di firma di accesso condiviso.
    CREATE CREDENTIAL [https://mitutorials.blob.core.windows.net/examples/WideWorldImporters-Standard.bak]
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE';
    

    Screenshot che mostra l’Editor di query SSMS. L'istruzione CREATE CREDENTIAL è visibile e un messaggio indica che la query è stata eseguita correttamente.

    Il percorso delle credenziali nell'esempio precedente fornisce l'accesso a un singolo file. È anche possibile creare un token di firma di accesso condiviso in un percorso di cartella, ad esempio:

    CREATE CREDENTIAL [https://<your storage>.blob.core.windows.net/databases/backups/]
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE'
    , SECRET = '<your shared access signature>'; -- omit the leading ?
    
  4. Per controllare le credenziali, eseguire il comando seguente, che usa un URL contenitore per ottenere un elenco file di backup.

    RESTORE FILELISTONLY FROM URL = 'https://mitutorials.blob.core.windows.net/examples/WideWorldImporters-Standard.bak';
    

    Screenshot che mostra l’Editor di query SSMS. L'istruzione RESTORE FILELISTONLY è visibile e la scheda Risultati elenca tre file.

  5. Eseguire lo script seguente per ripristinare il database Wide World Importers.

    RESTORE DATABASE [WideWorldImportersExample] FROM URL =
      'https://mitutorials.blob.core.windows.net/examples/WideWorldImporters-Standard.bak';
    

    Screenshot che mostra l’Editor di query SSMS. L'istruzione RESTORE DATABASE è visibile e un messaggio indica che la query è stata eseguita correttamente.

    Suggerimento

    Se si riceve Error: 3201 o Operating system error 86(The specified network password is not correct.), è probabile che la credenziale di firma di accesso condiviso (creata nei passaggi precedenti) venga creata in modo non corretto. DROP CREDENTIAL e ricreare, esaminare il nome, l'identità e il segreto delle credenziali.

  6. Eseguire lo script seguente per tenere traccia dello stato del ripristino.

    SELECT session_id as SPID, command, a.text AS Query, start_time, percent_complete
       , dateadd(second,estimated_completion_time/1000, getdate()) as estimated_completion_time
    FROM sys.dm_exec_requests r
    CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a
    WHERE r.command in ('BACKUP DATABASE','RESTORE DATABASE');
    
  7. Al termine del ripristino, visualizzare il database in Esplora oggetti. È possibile verificare che il ripristino del database sia stato completato usando la vista sys.dm_operation_status.

Nota

L'operazione di ripristino del database è asincrona e ripetibile. È possibile che venga visualizzato un errore in SSMS se la connessione non riesce o scade il timeout. Il database SQL di Azure continuerà a tentare di ripristinare il database in background. È possibile tenere traccia dello stato di avanzamento del ripristino usando le viste sys.dm_exec_requests e sys.dm_operation_status.

In alcune fasi del processo di ripristino verrà visualizzato l'identificatore univoco anziché il nome effettivo del database nelle viste di sistema. Per informazioni sulle differenze di comportamento delle istruzioni RESTORE, vedere Differenze T-SQL tra SQL Server e Istanza gestita di SQL di Azure.