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
- Per un'esercitazione video vedere Istanza gestita di SQL di Azure - Ripristinare il backup del database.
- Per altre informazioni sulla migrazione tramite Azure Database Migration Service, vedere Esercitazione: Eseguire la migrazione di SQL Server a un'Istanza gestita di SQL di Azure tramite Database Migration Service.
- Per altre informazioni sui vari metodi di migrazione, vedere Migrazione di SQL Server a un'istanza gestita di SQL di Azure.
Prerequisiti
La guida introduttiva:
- Usa le risorse della guida di avvio rapido Creare un'istanza gestita di SQL.
- Richiede che sia installata la versione più recente di SSMS.
- Richiede l'uso di SSMS per connettersi a Istanza gestita di SQL. Per informazioni su come effettuare la connessione, vedere queste guide introduttive:
- Abilitare un endpoint pubblico in Istanza gestita di SQL. Questo è l'approccio consigliato per la guida introduttiva.
- Connettersi a Istanza gestita di SQL da una macchina virtuale di Azure.
- Configurare una connessione da punto a sito a Istanza gestita di SQL da un computer locale.
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
Aprire SSMS e connettersi all'Istanza gestita di SQL.
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.
Selezionare la fonte di backup
Nella procedura guidata di ripristino selezionare i puntini di sospensione (...) per selezionare l'origine del set di backup da ripristinare.
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.
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.
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 esempioSAS
.
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.
In Connessione a una sottoscrizione Microsoft selezionare Accedi per accedere alla sottoscrizione di Azure.
Accedere all'account Microsoft per avviare la sessione in Azure.
Selezionare la sottoscrizione dell'account di archiviazione contenente i file di backup.
Selezionare l'account di archiviazione contenente i file di backup.
Selezionare il contenitore BLOB che contiene i file di backup.
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.
Ripristinare il database
Dopo aver selezionato un contenitore di archiviazione, verrà visualizzata la finestra di dialogo Individua file di backup in Microsoft Azure.
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.SSMS convalida il set di backup. Questo processo richiede pochi secondi. La durata dipende dalle dimensioni del set di backup.
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.
Verrà avviato il processo di ripristino. La durata dipende dalle dimensioni del set di backup.
Al termine del processo di ripristino, viene visualizzata una finestra di dialogo che indica che è stato eseguito correttamente. Seleziona OK.
In Esplora oggetti, verificare la presenza del database ripristinato selezionando Aggiorna.
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.
Aprire SSMS e connettersi all'Istanza gestita di SQL.
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.
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 conhttps
e non può contenere una barra finale.- Il parametro
IDENTITY
deve essere impostato suSHARED 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';
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 ?
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';
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';
Suggerimento
Se si riceve
Error: 3201
oOperating 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.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');
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.
Contenuto correlato
- Per la risoluzione dei problemi di backup in un URL, vedere Procedure consigliate e risoluzione dei problemi per il backup di SQL Server nell'URL.
- Per una panoramica delle opzioni di connessione delle app, vedere Connettere le applicazioni a un'istanza gestita di SQL.
- Per eseguire query usando gli strumenti o i linguaggi preferiti, consultare Avvio rapido: Connessione e query su database SQL di Azure.