Démarrage rapide : sauvegarde et restauration de SQL avec le Stockage Blob Azure
S’applique à : SQL Server 2016 (13.x) et versions ultérieures Azure SQL Managed Instance
Ce guide de démarrage rapide vous aide à comprendre comment écrire des sauvegardes et les restaurer à partir du Stockage Blob Azure. L’article explique comment créer un conteneur de Stockage Blob Azure, écrire une sauvegarde dans le Stockage Blob Azure, puis effectuer une restauration.
Remarque
SQL Server 2012 SP1 CU2 a introduit la prise en charge de la sauvegarde dans le stockage Blob Azure. SQL Server 2014 et les versions antérieures ne prennent pas en charge la signature d’accès partagé (SAP) décrite dans cet article de démarrage rapide.
Pour SQL Server 2014 et les versions antérieures, utilisez le Didacticiel : Sauvegarde et restauration de SQL Server 2014 sur Stockage Blob Azure Microsoft.
Prérequis
Pour suivre ce guide de démarrage rapide, vous devez connaître les concepts de sauvegarde et de restauration SQL Server et la syntaxe T-SQL. Vous avez besoin d’un compte de stockage Azure, de SQL Server Management Studio (SSMS) et d’un accès à un serveur qui exécute SQL Server ou Azure SQL Managed Instance. Par ailleurs, le compte utilisé pour émettre les commandes BACKUP et RESTORE doit figurer dans le rôle de base de données db_backupoperator avec les autorisations modifier les informations d’identification.
- Obtenir gratuitement un compte Azure.
- Créez un compte de stockage Azure.
- Installez SQL Server Management Studio.
- Installez SQL Server 2017 Developer Edition ou déployez Azure SQL Managed Instance avec une connectivité établie via une machine virtuelle SQL Azure ou une connexion point à site.
- Affectez le compte utilisateur au rôle de db_backupoperator et autorisez modifier les informations d’identification.
Créer des conteneurs de Stockage Blob Azure
Un conteneur regroupe un ensemble d’objets blob. Tous les objets blob doivent figurer dans un conteneur. Un compte de stockage peut contenir un nombre illimité de conteneurs, mais doit comporter au moins un conteneur. Un conteneur peut stocker un nombre illimité d’objets blob.
Pour créer un conteneur, suivez ces étapes :
Ouvrez le portail Azure.
Accédez à votre Compte de stockage.
Sélectionnez le compte de stockage et faites défiler l’affichage jusqu'à Services d’objets Blob.
Sélectionnez Objets blob, puis + Conteneur pour ajouter un nouveau conteneur.
Entrez le nom du conteneur et notez le nom de conteneur que vous avez spécifié. Ces informations sont utilisées dans l’URL (chemin du fichier de sauvegarde) dans les instructions T-SQL, plus loin dans ce guide de démarrage rapide.
Cliquez sur OK.
Remarque
L'authentification auprès du compte de stockage est requise pour la sauvegarde et la restauration SQL Server même si vous choisissez de créer un conteneur public. Vous pouvez également créer un conteneur par programme à l'aide des API REST. Pour plus d'informations, consultez Créer un conteneur.
Créer une base de données de test
À cette étape, créez une base de données de test à l’aide de SQL Server Management Studio (SSMS).
- Lancez SQL Server Management Studio (SSMS) et connectez-vous à votre instance de SQL Server.
- Ouvrez une fenêtre Nouvelle requête.
- Exécutez le code Transact-SQL (T-SQL) suivant pour créer votre base de données de test. Actualisez le nœud Bases de données dans l’Explorateur d’objets pour voir votre nouvelle base de données. Comme le chiffrement TDE est automatiquement activé sur les bases de données nouvellement créées sur SQL Managed Instance, vous devez le désactiver pour continuer.
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
Créer des informations d’identification
Utilisez l’interface graphique utilisateur de SQL Server Management Studio pour créer les informations d’identification en suivant les étapes ci-dessous. Vous pouvez également créer les informations d’identification programmatiquement.
Développez le nœud Bases de données dans l’Explorateur d'objets de SQL Server Management Studio (SSMS) .
Cliquez avec le bouton droit sur votre nouvelle base de données
SQLTestDB
, pointez sur Tâches, puis sélectionnez Sauvegarder... pour lancer l’Assistant Sauvegarder la base de données.Sélectionnez URL dans le menu déroulant de destination Sauvegarder vers, puis sélectionnez Ajouter pour lancer la boîte de dialogue Sélectionner la destination de sauvegarde.
Sélectionnez Nouveau conteneur dans la boîte de dialogue Sélectionner la destination de sauvegarde pour lancer la fenêtre Se connecter à un abonnement Microsoft.
Connectez-vous au portail Azure en sélectionnant Se connecter..., puis poursuivez le processus de connexion.
Sélectionnez votre abonnement dans la liste déroulante.
Sélectionnez votre compte de stockage dans la liste déroulante.
Dans la liste déroulante, sélectionnez le conteneur que vous avez créé précédemment.
Sélectionnez Créer des informations d’identification pour générer votre signature d’accès partagé (SAP) . Enregistrez cette valeur, car vous en aurez besoin pour la restauration.
Cliquez sur OK pour fermer la fenêtre Se connecter à un abonnement Microsoft. Cela renseigne la valeur Conteneur de stockage Azure dans la boîte de dialogue Sélectionner la destination de sauvegarde. Sélectionnez OK pour choisir le conteneur de stockage sélectionné, puis fermez la boîte de dialogue.
À ce stade, vous pouvez passer directement à l’étape 4 de la section suivante pour effectuer la sauvegarde de la base de données, ou fermer l’Assistant Sauvegarder la base de données si vous souhaitez continuer à utiliser Transact-SQL pour sauvegarder la base de données.
Sauvegarder la base de données
Dans cette étape, sauvegardez la base de données SQLTestDB
dans votre compte de stockage d’objets Blob Azure à l’aide de l’interface graphique utilisateur dans SQL Server Management Studio ou de Transact-SQL (T-SQL).
Si l’Assistant Sauvegarder la base de données n’est pas encore ouvert, développez le nœud Bases de données dans l’Explorateur d'objets de SQL Server Management Studio(SSMS).
Cliquez avec le bouton droit sur votre nouvelle base de données
SQLTestDB
, pointez sur Tâches, puis sélectionnez Sauvegarder... pour lancer l’Assistant Sauvegarder la base de données.Sélectionnez URL dans le menu déroulant Sauvegarder vers, puis sélectionnez Ajouter pour lancer la boîte de dialogue Sélectionner la destination de sauvegarde.
Sélectionnez le conteneur que vous avez créé à l’étape précédente dans la liste déroulante Conteneur de stockage Azure.
Sélectionnez OK dans l’Assistant Sauvegarder la base de données pour sauvegarder votre base de données.
Sélectionnez OK pour fermer toutes les fenêtres liées à la sauvegarde une fois que votre base de données a été sauvegardée.
Conseil
Vous pouvez générer un script Transact-SQL qui se trouve derrière cette commande en sélectionnant Script en haut de l’Assistant Sauvegarder la base de données :
Supprimez la base de données
Dans cette étape, supprimez la base de données avant d’effectuer la restauration. Cette étape est uniquement nécessaire dans le cadre de ce tutoriel, mais est peu susceptible d’être utilisée dans les procédures normales de gestion de base de données. Vous pouvez ignorer cette étape, mais vous devrez alors modifier le nom de la base de données pendant la restauration sur une instance gérée, ou exécuter la commande de restauration WITH REPLACE
pour restaurer la base de données localement.
- Développez le nœud Bases de données dans l’Explorateur d’objets, cliquez avec le bouton droit sur la base de données
SQLTestDB
et sélectionnez Supprimer pour lancer l’Assistant Supprimer l’objet . - Sur une instance gérée, sélectionnez OK pour supprimer la base de données. Localement, activez la case à cocher Fermer les connexions existantes, puis sélectionnez OK pour supprimer la base de données.
Restaurer la base de données
Dans cette étape, restaurez la base de données à l’aide de l’interface graphique utilisateur de SQL Server Management Studio ou de Transact-SQL.
Cliquez avec le bouton droit sur le nœud Bases de données dans l’Explorateur d’objets dans SQL Server Management Studio et sélectionnez Restaurer la base de données.
Sélectionnez Appareil, puis sélectionnez les points de suspension (...) pour choisir l’appareil.
Sélectionnez URL dans la liste déroulante Type de support de sauvegarde et sélectionnez Ajouter pour ajouter votre appareil.
Sélectionnez le conteneur dans la liste déroulante, puis collez la signature d’accès partagé (SAP) que vous avez enregistrée lors de la création des informations d’identification.
Sélectionnez OK pour sélectionner l’emplacement du fichier de sauvegarde.
Développez Conteneurs et sélectionnez le conteneur où se trouve votre fichier de sauvegarde.
Sélectionnez le fichier de sauvegarde que vous souhaitez restaurer, puis sélectionnez OK. Si aucun fichier n’est visible, vous utilisez peut-être une clé SAP incorrecte. Vous pouvez régénérer la clé SAP en suivant les mêmes étapes que précédemment pour ajouter le conteneur.
Sélectionnez OK pour fermer la boîte de dialogue Sélectionner les unités de sauvegarde.
Sélectionnez OK pour restaurer votre base de données.
Voir aussi
Les ressources suivantes sont des lectures recommandées afin de mieux comprendre les concepts et les meilleures pratiques pour l’utilisation du Stockage Blob Azure pour les sauvegardes SQL Server.