Avvio rapido: Backup e ripristino SQL in Archiviazione BLOB di Azure
Si applica a: SQL Server 2016 (13.x) e versioni successive Istanza gestita di SQL di Azure
Questa guida di avvio rapido contiene nozioni utili sulla scrittura di backup nel servizio di archiviazione BLOB di Azure e sul ripristino dallo stesso. L'articolo illustra come creare un contenitore di archiviazione BLOB di Azure, scrivere un backup nel servizio di archiviazione BLOB di Azure e quindi eseguire un ripristino.
Nota
SQL Server 2012 SP1 CU2 ha introdotto il supporto per il backup in Archiviazione BLOB di Azure. SQL Server 2014 e versioni precedenti non supportano la firma di accesso condiviso (SAS) descritta in questo articolo della guida di avvio rapido.
Per SQL Server 2014 e versioni precedenti, usare Esercitazione: Backup e ripristino di SQL Server 2014 nel servizio di archiviazione BLOB di Microsoft Azure.
Prerequisiti
Per completare questa guida di avvio rapido è necessario conoscere i concetti di backup e ripristino di SQL Server e la sintassi T-SQL. Sono necessari un account di archiviazione di Azure, SQL Server Management Studio (SSMS) e l'accesso a un server che esegue SQL Server o Istanza gestita di SQL di Azure. Inoltre, l'account utente usato per eseguire i comandi BACKUP e RESTORE deve essere incluso nel ruolo del database db_backup operator con autorizzazioni Modifica qualsiasi credenziale.
- Ottenere un account Azure gratuito.
- Creare un account di archiviazione di Azure.
- Installare SQL Server Management Studio.
- Installare SQL Server 2017 Developer Edition o distribuire Istanza gestita di SQL di Azure con connettività stabilita tramite una macchina virtuale SQL di Azure o da punto a sito.
- Assegnare l'account utente al ruolo db_backupoperator e concedere le autorizzazioni Modifica qualsiasi credenziale.
Creare un contenitore di archiviazione BLOB di Azure.
Un contenitore consente di raggruppare un set di BLOB. Tutti i BLOB devono essere inclusi in un contenitore. Un account di archiviazione può contenere un numero illimitato di contenitori, tuttavia ne deve contenere almeno uno. In un contenitore è possibile archiviare un numero illimitato di BLOB.
Per creare un contenitore, seguire questa procedura:
Apri il portale di Azure.
Passare al proprio account di archiviazione.
Selezionare l'account di archiviazione e scorrere verso il basso fino a Servizi BLOB.
Selezionare BLOB e quindi selezionare + Contenitore per aggiungere un nuovo contenitore.
Immettere il nome del contenitore e prendere nota del nome specificato. Queste informazioni vengono usate nell'URL (percorso del file di backup) nelle istruzioni T-SQL più avanti in questa guida di avvio rapido.
Seleziona OK.
Nota
L'autenticazione per l'account di archiviazione è obbligatoria per il backup e il ripristino di SQL Server anche se si sceglie di creare un contenitore pubblico. Inoltre, è possibile creare un contenitore a livello di programmazione tramite le API REST. Per altre informazioni, vedere Create container (Crea contenitore)
Creare un database di test
In questo passaggio viene creato un database di test tramite SQL Server Management Studio (SSMS).
- Avviare SQL Server Management Studio (SSMS) e connettersi all'istanza di SQL Server.
- Aprire una finestra Nuova query.
- Eseguire il codice Transact-SQL (T-SQL) seguente per creare il database di test. Aggiornare il nodo Database in Esplora oggetti per vedere il nuovo database. Per i nuovi database creati in Istanza gestita di SQL la funzionalità Transparent Data Encryption viene abilitata automaticamente ed è quindi necessario disabilitarla per continuare.
USE [master]
GO
-- Create database
CREATE DATABASE [SQLTestDB]
GO
-- Create table in database
USE [SQLTestDB]
GO
CREATE TABLE SQLTest (
ID INT NOT NULL PRIMARY KEY,
c1 VARCHAR(100) NOT NULL,
dt1 DATETIME NOT NULL DEFAULT getdate()
)
GO
-- Populate table
USE [SQLTestDB]
GO
INSERT INTO SQLTest (ID, c1) VALUES (1, 'test1')
INSERT INTO SQLTest (ID, c1) VALUES (2, 'test2')
INSERT INTO SQLTest (ID, c1) VALUES (3, 'test3')
INSERT INTO SQLTest (ID, c1) VALUES (4, 'test4')
INSERT INTO SQLTest (ID, c1) VALUES (5, 'test5')
GO
SELECT * FROM SQLTest
GO
-- Disable TDE for newly-created databases on SQL Managed Instance
USE [SQLTestDB];
GO
ALTER DATABASE [SQLTestDB] SET ENCRYPTION OFF;
GO
DROP DATABASE ENCRYPTION KEY
GO
Creare le credenziali
Usare l'interfaccia utente grafica di SQL Server Management Studio per creare le credenziali con la procedura descritta di seguito. In alternativa, è possibile creare le credenziali a livello di programmazione.
Espandere il nodo Database all'interno di Esplora oggetti in SQL Server Management Studio(SSMS).
Fare clic con il pulsante destro del mouse sul nuovo database
SQLTestDB
, passare il puntatore del mouse su Attività e quindi selezionare Backup... per avviare la procedura guidata Backup database.Selezionare l'URL dall'elenco a discesa di destinazione Backup in e quindi selezionare Aggiungi per aprire la finestra di dialogo Seleziona destinazione di backup.
Selezionare Nuovo contenitore nella finestra di dialogo Seleziona destinazione di backup per aprire la finestra Connetti a una sottoscrizione Microsoft.
Accedere al portale di Azure selezionando Accedi... e quindi eseguire la procedura di accesso.
Selezionare la sottoscrizione dall'elenco a discesa.
Selezionare l'account di archiviazione dall'elenco a discesa.
Selezionare il contenitore creato in precedenza dall'elenco a discesa.
Selezionare Crea credenziali per generare la firma di accesso condiviso. Salvare questo valore perché sarà necessario per il ripristino.
Selezionare OK per chiudere la finestra Connetti a una sottoscrizione Microsoft. Verrà popolato il valore Contenitore di Archiviazione di Azure nella finestra di dialogo Seleziona destinazione di backup. Selezionare OK per scegliere il contenitore di archiviazione desiderato e chiudere la finestra di dialogo.
A questo punto, è possibile andare al passaggio 4 della sezione successiva per eseguire il backup del database o chiudere la procedura guidata Backup database per eseguire il backup del database tramite Transact-SQL.
Eseguire il backup del database
In questo passaggio si eseguirà il backup del database SQLTestDB
nell'account di Archiviazione BLOB di Azure usando l'interfaccia utente grafica all'interno di SQL Server Management Studio o Transact-SQL (T-SQL).
Se la procedura guidata Backup database non è aperta, espandere il nodo Database all'interno di Esplora oggetti in SQL Server Management Studio(SSMS).
Fare clic con il pulsante destro del mouse sul nuovo database
SQLTestDB
, passare il puntatore del mouse su Attività e quindi selezionare Backup... per avviare la procedura guidata Backup database.Selezionare l'URL dall'elenco a discesa Backup in e quindi selezionare Aggiungi per aprire la finestra di dialogo Seleziona destinazione di backup.
Selezionare il contenitore creato nel passaggio precedente nell'elenco a discesa Contenitore di Archiviazione di Azure.
Selezionare OK nella procedura guidata Backup database per eseguire il backup del database.
Al termine del backup selezionare OK per chiudere tutte le finestre correlate al backup.
Suggerimento
È possibile creare uno script del codice Transact-SQL alla base di questo comando selezionando Script nella parte superiore della procedura guidata Backup database:
Elimina database
In questo passaggio si eliminerà il database prima di eseguire il ripristino. Questo passaggio è necessario solo per gli scopi di questa esercitazione, ma è improbabile che venga usato nelle normali procedure di gestione del database. È possibile ignorare questo passaggio, ma in questo caso è necessario modificare il nome del database durante il ripristino in un'istanza gestita oppure eseguire il comando di ripristino WITH REPLACE
per ripristinare correttamente il database in locale.
- Espandere il nodo Database in Esplora oggetti, fare clic con il pulsante destro del mouse sul database
SQLTestDB
e selezionare Elimina per avviare la procedura guidata Elimina oggetto. - In un'istanza gestita selezionare OK per eliminare il database. In locale selezionare la casella di controllo accanto a Chiudi connessioni esistenti e quindi selezionare OK per eliminare il database.
RESTORE DATABASE
In questo passaggio si ripristinerà il database usando l'interfaccia utente grafica in SQL Server Management Studio o tramite Transact-SQL.
Fare clic con il pulsante destro del mouse sul nodo Database in Esplora oggetti all'interno di SQL Server Management Studio e selezionare Ripristina database.
Selezionare Dispositivo e quindi i puntini di sospensione (...) per scegliere il dispositivo.
Selezionare l'URL nell'elenco a discesa Tipo di supporti di backup e selezionare Aggiungi per aggiungere il dispositivo.
Selezionare il contenitore dall'elenco a discesa e quindi incollare la firma di accesso condiviso salvata durante la creazione delle credenziali.
Selezionare OK per selezionare il percorso del file di backup.
Espandere Contenitori e selezionare il contenitore in cui si trova il file di backup.
Selezionare il file di backup che si vuole ripristinare e quindi selezionare OK. Se non è visibile alcun file, è possibile che si stia usando una chiave di firma di accesso condiviso non corretta. È possibile rigenerare la chiave di firma di accesso condiviso seguendo la stessa procedura descritta in precedenza per aggiungere il contenitore.
Selezionare OK per chiudere la finestra di dialogo Seleziona dispositivi di backup.
Selezionare OK per ripristinare il database.
Vedi anche
Di seguito sono indicate alcune letture suggerite per comprendere i concetti e le procedure consigliate quando si usa il servizio di archiviazione BLOB di Azure per i backup di SQL Server.