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 Stockage Blob Azure, écrire une sauvegarde dans Stockage Blob Azure, puis effectuer une restauration.

Note

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 versions antérieures, utilisez le tutoriel : Sauvegarde et restauration SQL Server 2014 vers le stockage Blob Microsoft Azure.

Prerequisites

Pour suivre ce guide de démarrage rapide, vous devez être familiarisé avec 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.

Créer un conteneur 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 :

  1. Ouvrez le Portail Azure.

  2. Accédez à votre Compte de stockage.

  3. Sélectionnez le compte de stockage et faites défiler l’affichage jusqu'à Services d’objets Blob.

  4. Sélectionnez Objets blob, puis + Conteneur pour ajouter un nouveau conteneur.

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

  6. Cliquez sur OK.

    New container

Note

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

  1. Lancez SQL Server Management Studio (SSMS) et connectez-vous à votre instance de SQL Server.
  2. Ouvrez une fenêtre Nouvelle requête.
  3. 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.

  1. Développez le nœud Bases de données dans l’Explorateur d'objets de SQL Server Management Studio (SSMS) .

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

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

    Back up to URL

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

    Screenshot of the Select Backup Destination dialog window with the New container option called out.

  5. Connectez-vous au portail Azure en sélectionnant Se connecter..., puis poursuivez le processus de connexion.

  6. Sélectionnez votre abonnement dans la liste déroulante.

  7. Sélectionnez votre compte de stockage dans la liste déroulante.

  8. Dans la liste déroulante, sélectionnez le conteneur que vous avez créé précédemment.

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

    Create credential

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

  11. À 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).

  1. 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).

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

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

    Back up to URL

  4. Sélectionnez le conteneur que vous avez créé à l’étape précédente dans la liste déroulante Conteneur de stockage Azure.

    Azure storage container

  5. Sélectionnez OK dans l’Assistant Sauvegarder la base de données pour sauvegarder votre base de données.

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

    Astuce

    Vous pouvez générer un script avec Transact-SQL derrière cette commande en sélectionnant Script en haut de l’Assistant Sauvegarde de base de données : Script command

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

  1. 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 .
  2. 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.

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

  2. Sélectionnez Appareil, puis sélectionnez les points de suspension (...) pour choisir l’appareil.

    Select restore device

  3. Sélectionnez URL dans la liste déroulante Type de support de sauvegarde et sélectionnez Ajouter pour ajouter votre appareil.

    Add backup device

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

    Screenshot of the Select a Backup File Location dialog box with the Shared Access Signature field populated.

  5. Sélectionnez OK pour sélectionner l’emplacement du fichier de sauvegarde.

  6. Développez Conteneurs et sélectionnez le conteneur où se trouve votre fichier de sauvegarde.

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

    Select restore file

  8. Sélectionnez OK pour fermer la boîte de dialogue Sélectionner les unités de sauvegarde.

  9. Sélectionnez OK pour restaurer votre base de données.

Voir aussi

Voici quelques lectures recommandées pour comprendre les concepts et les meilleures pratiques lors de l’utilisation du Stockage Blob Azure pour les sauvegardes SQL Server.