Démarrage rapide : Sauvegarde et restauration de SQL Server avec le service de stockage Blob AzureQuickstart: SQL backup and restore to Azure Blob storage service

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database (Managed Instance uniquement) nonAzure Synapse Analytics (SQL DW) nonParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Ce guide de démarrage rapide vous aide à comprendre comment écrire des sauvegardes et les restaurer à partir du service Stockage Blob Azure.This quickstart helps you understand how to write backups to and restore from the Azure Blob Storage Service. L’article explique comment créer un conteneur d’objets blob Azure, écrire une sauvegarde dans le service blob, puis effectuer une restauration.The article explains how to create an Azure Blob Container, write a backup to the blob service, and then perform a restore.

Conditions préalables requisesPrerequisites

Pour suivre ce guide de démarrage rapide, vous devez connaître les concepts de sauvegarde et de restauration SQL ServerSQL Server et la syntaxe T-SQL.To complete this quickstart, you must be familiar with SQL ServerSQL Server backup and restore concepts and T-SQL syntax. 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 à une instance gérée Azure SQL Database.You need an Azure storage account, SQL Server Management Studio (SSMS), and access to either a server that's running SQL Server or an Azure SQL Database 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.Additionally, the account used to issue the BACKUP and RESTORE commands should be in the db_backupoperator database role with alter any credential permissions.

Créer un conteneur d’objets blob AzureCreate Azure Blob container

Un conteneur regroupe un ensemble d’objets blob.A container provides a grouping of a set of blobs. Tous les objets blob doivent figurer dans un conteneur.All blobs must be in a container. Un compte de stockage peut contenir un nombre illimité de conteneurs, mais doit comporter au moins un conteneur.A storage account can contain an unlimited number of containers, but must have at least one container. Un conteneur peut stocker un nombre illimité d'objets blob.A container can store an unlimited number of blobs.

Pour créer un conteneur, suivez ces étapes :To create a Container, follow these steps:

  1. Ouvrez le portail Azure.Open the Azure portal.

  2. Accédez à votre compte de stockage.Navigate to your Storage Account.

  3. Sélectionnez le compte de stockage et faites défiler l’affichage jusqu'à Services d’objets Blob.Select the storage account, scroll down to Blob Services.

  4. Sélectionnez Objets blob, puis + Conteneur pour ajouter un nouveau conteneur.Select Blobs and then select + Container to add a new container.

  5. Entrez le nom du conteneur et notez le nom de conteneur que vous avez spécifié.Enter the name for the container and make note of the container name you specified. 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.This information is used in the URL (path to backup file) in the T-SQL statements later in this quickstart.

  6. Sélectionnez OK.Select OK.

    Nouveau conteneur

Notes

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.Authentication to the storage account is required for SQL Server backup and restore even if you choose to create a public container. Vous pouvez également créer un conteneur par programme à l'aide des API REST.You can also create a container programmatically using REST APIs. Pour plus d'informations, consultez Créer un conteneur.For more information, see Create container

Créer une base de données de testCreate a test database

À cette étape, créez une base de données de test à l’aide de SQL Server Management Studio (SSMS).In this step, create a test database using SQL Server Management Studio (SSMS).

  1. Lancez SQL Server Management Studio (SSMS) et connectez-vous à votre instance de SQL Server.Launch SQL Server Management Studio (SSMS) and connect to your SQL Server instance.
  2. Ouvrez une fenêtre Nouvelle requête.Open a New Query window.
  3. Exécutez le code Transact-SQL (T-SQL) suivant pour créer votre base de données de test.Run the following Transact-SQL (T-SQL) code to create your test database. Actualisez le nœud Bases de données dans l’Explorateur d’objets pour voir votre nouvelle base de données.Refresh the Databases node in Object Explorer to see your new database. La TDE est automatiquement activée sur les bases de données nouvellement créées sur une instance gérée Azure SQL Database. Vous devez donc la désactiver pour continuer.Newly created databases on an Azure SQL Database managed instance automatically have TDE enabled so you'll need to disable it to proceed.
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 a managed instance 
USE [SQLTestDB];
GO
ALTER DATABASE [SQLTestDB] SET ENCRYPTION OFF;
GO

Créer des informations d’identificationCreate credential

Utilisez l’interface graphique utilisateur de SQL Server Management Studio pour créer les informations d’identification en suivant les étapes ci-dessous.Use the GUI in SQL Server Management Studio to create the credential by following the steps below. Vous pouvez également créer les informations d’identification programmatiquement.Alternatively, you can create the credential programmatically as well.

  1. Développez le nœud Bases de données dans l’Explorateur d'objets de SQL Server Management Studio (SSMS) .Expand the Databases node within Object Explorer of 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.Right-click your new SQLTestDB database, hover over Tasks and then select Back up... to launch the Back Up Database wizard.

  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.Select URL from the Back up to destination drop-down, and then select Add to launch the Select Backup Destination dialog box.

    Sauvegarde vers l’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.Select New container on the Select Backup Destination dialog box to launch the Connect to a Microsoft Subscription window.

    Destination de sauvegarde

  5. Connectez-vous au portail Azure en sélectionnant Se connecter... , puis poursuivez le processus de connexion.Sign in to the Azure portal by selecting Sign In... and then proceed through the sign-in process.

  6. Sélectionnez votre abonnement dans la liste déroulante.Select your subscription from the drop-drown.

  7. Sélectionnez votre compte de stockage dans la liste déroulante.Select your storage account from the drop-down.

  8. Dans la liste déroulante, sélectionnez le conteneur que vous avez créé précédemment.Select the container you created previously from the drop-down.

  9. Sélectionnez Créer des informations d’identification pour générer votre signature d’accès partagé (SAP) .Select Create Credential to generate your Shared Access Signature (SAS). Enregistrez cette valeur, car vous en aurez besoin pour la restauration.Save this value as you'll need it for the restore.

    Créer des informations d’identification

  10. Cliquez sur OK pour fermer la fenêtre Se connecter à un abonnement Microsoft.Select OK to close the Connect to a Microsoft Subscription window. Cela renseigne la valeur Conteneur de stockage Azure dans la boîte de dialogue Sélectionner la destination de sauvegarde.This populates the Azure storage container value on the Select Backup Destination dialog box. Sélectionnez OK pour choisir le conteneur de stockage sélectionné, puis fermez la boîte de dialogue.Select OK to choose the selected storage container, and close the dialog box.

  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.At this point, you can either skip ahead to step 4 in the next section to take the backup of the database, or close the Back up Database wizard if you want to proceed with using Transact-SQL to back up the database instead.

Sauvegarder la base de donnéesBack up database

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).In this step, back up the database SQLTestDB to your Azure Blob storage account using either the GUI within SQL Server Management Studio, or 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).If the Back Up Database wizard is not already open, expand the Databases node within Object Explorer of 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.Right-click your new SQLTestDB database, hover over Tasks and then select Back up... to launch the Back Up Database wizard.

  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.Select URL from the Back up to drop down, and then select Add to launch the Select Backup Destination dialog box.

    Sauvegarde vers l’URL

  4. Sélectionnez le conteneur que vous avez créé à l’étape précédente dans la liste déroulante Conteneur de stockage Azure.Select the container you created in the previous step in the Azure storage container drop-down.

    Conteneur de stockage Windows Azure

  5. Sélectionnez OK dans l’Assistant Sauvegarder la base de données pour sauvegarder votre base de données.Select OK on the Back Up Database wizard to back up your database.

  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.Select OK once your database is backed up successfully to close all backup-related windows.

    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 : Commande de scriptYou can script out the Transact-SQL behind this command by selecting Script at the top of the Back Up Database wizard: Script command

Supprimer la base de donnéesDelete database

Dans cette étape, supprimez la base de données avant d’effectuer la restauration.In this step, delete the database before performing the restore. 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.This step is only necessary for the purpose of this tutorial, but is unlikely to be used in normal database management procedures. 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.You can skip this step, but then you'll either need to change the name of the database during the restore on a managed instance, or run the restore command WITH REPLACE to restore the database successfully on-premises.

  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 .Expand the Databases node in Object explorer, right-click the SQLTestDB database, and select delete to launch the Delete object wizard.
  2. Sur une instance gérée, sélectionnez OK pour supprimer la base de données.On a managed instance, select OK to delete the database. Localement, activez la case à cocher Fermer les connexions existantes, puis sélectionnez OK pour supprimer la base de données.On-premises, check the checkbox next to Close existing connections and then select OK to delete the database.

Restaurer la base de donnéesRestore database

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.In this step, restore the database using either the GUI in SQL Server Management Studio, or with 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.Right-click the Databases node in Object Explorer within SQL Server Management Studio and select Restore Database.

  2. Sélectionnez Appareil, puis sélectionnez les points de suspension (...) pour choisir l’appareil.Select Device and then select the ellipses (...) to choose the device.

    Sélectionner Restaurer l’appareil

  3. Sélectionnez URL dans la liste déroulante Type de support de sauvegarde et sélectionnez Ajouter pour ajouter votre appareil.Select URL from the Backup media type drop-down and select Add to add your device.

    Ajouter une unité de sauvegarde

  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.Select the container from the drop-down and then paste in the Shared Access Signature (SAS) you saved when creating the credential.

    Destination de sauvegarde

  5. Sélectionnez OK pour sélectionner l’emplacement du fichier de sauvegarde.Select OK to select the backup file location.

  6. Développez Conteneurs et sélectionnez le conteneur où se trouve votre fichier de sauvegarde.Expand Containers and select the container where your backup file exists.

  7. Sélectionnez le fichier de sauvegarde que vous souhaitez restaurer, puis sélectionnez OK.Select the backup file you want to restore and then select OK. Si aucun fichier n’est visible, vous utilisez peut-être une clé SAP incorrecte.If no files are visible, then you may be using the wrong SAS key. Vous pouvez régénérer la clé SAP en suivant les mêmes étapes que précédemment pour ajouter le conteneur.You can regenerate the SAS key again by following the same steps as before to add the container.

    Sélectionner Restaurer le fichier

  8. Sélectionnez OK pour fermer la boîte de dialogue Sélectionner les unités de sauvegarde.Select OK to close the Select backup devices dialog box.

  9. Sélectionnez OK pour restaurer votre base de données.Select OK to restore your database.

Voir aussiSee also

Les ressources suivantes sont des lectures recommandées afin de mieux comprendre les concepts et les bonnes pratiques pour l’utilisation du service Stockage Blob Azure pour les sauvegardes SQL ServerSQL Server.Following is some recommended reading to understand the concepts and best practices when using Azure Blob storage service for SQL ServerSQL Server backups.