Partager via


Démarrage rapide : sauvegarde et restauration SQL sur stockage d'objets compatible S3

S’applique à : SQL Server 2022 (16.x)

Ce guide de démarrage rapide vous aide à comprendre comment écrire des sauvegardes et les restaurer à partir stockage d’objet compatible S3.

Remarque

SQL Server 2022 a introduit la prise en charge de la sauvegarde et la restauration à partir d'un stockage d'objets compatible S3. SQL Server 2019 et les versions précédentes ne prennent pas en charge cette fonctionnalité.

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 Transact-SQL (T-SQL). Vous avez besoin d’un point de terminaison S3, de SQL Server Management Studio (SSMS) et d’un accès à un serveur qui exécute SQL Server ou Azure SQL Managed Instance. En outre, le compte utilisé pour émettre les commandes BACKUP et RESTORE doit se trouver dans le rôle de base de données db_backupoperator avec les autorisations ALTER ANY CREDENTIAL, et disposer des autorisations CREATE DATABASE pour RESTORE sur une nouvelle base de données, ou être membre du rôle serveur fixe sysadmin et dbcreator , ou propriétaire (dbo) de la base de données si la restauration sur une base de données existante.

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

Pour créer les informations d’identification de SQL Server pour l'authentification, procédez comme suit :

  1. Lancez SQL Server Management Studio (SSMS) et connectez-vous à votre instance de SQL Server.

  2. Ouvrez une fenêtre Nouvelle requête.

  3. Créez des informations d’identification au niveau du serveur. Le nom des informations d’identification dépend de la plateforme de stockage compatible S3. Contrairement aux informations d’identification de la base de données PolyBase, les informations d’identification de sauvegarde/restauration sont stockés au niveau de l'instance. Lorsqu'il est utilisé avec un stockage compatible S3, les informations d’identification doivent être nommées en fonction du chemin d'accès à l'URL.

    CREATE CREDENTIAL [s3://<endpoint>:<port>/<bucket>]
    WITH
            IDENTITY    = 'S3 Access Key',
            SECRET      = '<AccessKeyID>:<SecretKeyID>';
    GO
    

Remarque

Pour plus d'exemples d’informations d’identification du serveur et de stockage compatible S3, consultez CREATE CREDENTIAL (Transact-SQL).

Sauvegarder la base de données

Dans cette étape, sauvegardez la base de données SQLTestDB vers votre stockage d'objets compatible S3 à l'aide de T-SQL.

Sauvegardez votre base de données à l’aide de T-SQL en exécutant la commande suivante :

USE [master];
GO

BACKUP DATABASE [SQLTestDB]
TO      URL = 's3://<endpoint>:<port>/<bucket>/SQLTestDB.bak'
WITH    FORMAT /* overwrite any existing backup sets */
,       STATS = 10
,       COMPRESSION;

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, et 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 Azure SQL Managed Instance, 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 Azure SQL Managed Instance, 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.

    Capture d'écran montrant l'écran Sélectionner l'appareil de restauration.

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

    Capture d'écran montrant l'écran Ajouter une unité de sauvegarde.

  4. Saisissez l'URL de l'hôte virtuel et collez l'ID de la clé secrète et l'ID de la clé d'accès pour le stockage d'objets compatible S3.

    Capture d'écran de la boîte de dialogue Sélectionner l'emplacement du fichier de sauvegarde S3 avec les champs URL et clé remplis.

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

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

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

Les ressources suivantes sont des lectures recommandées afin de mieux comprendre les concepts et les bonnes pratiques pour l'utilisation du stockage d'objets compatible avec S3 pour les sauvegardes de SQL Server.