Tous les produits
Search
Centre de documentation

Elastic Compute Service:Créer des snapshots cohérents au niveau de l'application pour SQL Server sur Windows

Dernière mise à jour :Aug 18, 2026

Vérifiez la sauvegarde par snapshot cohérent au niveau de l'application pour SQL Server 2019 (64 bits) sur une instance ECS exécutant Windows Server 2019.

Prérequis

  • L'instance ECS doit être dans l'état Running. Cloud Assistant doit être dans un état normal sur l'instance. Pour afficher le statut de Cloud Assistant, consultez la rubrique Vérifier le statut de Cloud Assistant et résoudre les exceptions.

  • Une base de données SQL Server sous Windows est installée.

  • Un rôle RAM doté d'une stratégie personnalisée pour les snapshots cohérents au niveau de l'application est associé à l'instance ECS. Consultez la rubrique Créer un rôle RAM et l'associer à une instance ECS.

    Remarque

    Cloud Assistant nécessite des autorisations spécifiques pour accéder à l'instance ECS et exécuter des commandes. Accordez ces autorisations via le rôle RAM.

    • Configurez un rôle RAM personnalisé, par exemple AppSnapshotRoleName.

    • Associez une stratégie personnalisée au rôle RAM. La stratégie d'exemple suivante accorde les autorisations nécessaires pour interroger les snapshots, créer des snapshots, ajouter des tags et interroger les informations sur les disques.

      {
          "Version": "1",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "ecs:DescribeSnapshot*",
                      "ecs:CreateSnapshot*",
                      "ecs:TagResources",
                      "ecs:DescribeDisks"
                  ],
                  "Resource": [
                      "*"
                  ],
                  "Condition": {}
              }
          ]
      }

Vue d'ensemble

Un snapshot cohérent au niveau de l'application suspend temporairement les opérations d'écriture afin de capturer un état cohérent de la base de données, réduisant ainsi le risque de corruption ou de perte de données lors de la restauration.

image
  1. Étape 1 : Préparer l'environnement de base de données pour la validation

    Créez une table de base de données et une procédure stockée pour simuler des écritures continues de données, qui serviront à la vérification ultérieure.

  2. Étape 2 : Créer un snapshot cohérent au niveau de l'application dans la console

    Créez un snapshot cohérent au niveau de l'application pour l'instance Windows hébergeant SQL Server. Les opérations d'écriture sont temporairement suspendues pendant la création du snapshot.

  3. Étape 3 : Vérifier que le snapshot cohérent au niveau de l'application a été créé

    Consultez le résultat de la commande Cloud Assistant et vérifiez les horodatages correspondant à la suspension et à la reprise des opérations d'écriture.

  4. Étape 4 : Vérifier la restauration des données à partir du snapshot cohérent au niveau de l'application

    Restaurez le disque à partir du snapshot cohérent au niveau de l'application, puis comparez l'heure de la dernière écriture avec l'heure de suspension pour valider la réussite de la restauration.

    • Si l'heure de la dernière écriture est antérieure à l'heure de suspension : aucune écriture n'a eu lieu pendant la suspension. L'état de la base de données restaurée est cohérent avec le snapshot.

    • Si l'heure de la dernière écriture est identique ou postérieure à l'heure de suspension : des écritures ont eu lieu pendant la suspension. Le snapshot cohérent au niveau de l'application n'a pas fonctionné comme prévu.

Procédure

Étape 1 : Préparer l'environnement de base de données pour la validation

  1. Connectez-vous à l'instance ECS.

  2. Connectez-vous à la base de données SQL Server.

    1. Cliquez sur l'icône de recherche dans le coin inférieur gauche et saisissez ssms.

    2. Cliquez sur Microsoft SQL Server Management Studio 18.

    3. Dans la boîte de dialogue Connect to Server, configurez la connexion, puis cliquez sur Connect.

  3. Dans Microsoft SQL Server Management Studio 18, créez la base de données de validation (AdventureWorks).

    1. Cliquez sur New Query.

    2. Saisissez l'instruction SQL suivante dans la fenêtre de requête.

      CREATE DATABASE AdventureWorks;
    3. Cliquez sur Run.

  4. Dans Microsoft SQL Server Management Studio 18, créez la table de validation (PointInTime).

    1. Cliquez sur New Query.

    2. Saisissez l'instruction SQL suivante dans la fenêtre de requête.

      USE AdventureWorks
      GO
      IF NOT EXISTS (SELECT name FROM sysobjects WHERE name = 'PointInTime' AND TYPE ='U')
      CREATE TABLE PointInTime (PIT datetime)
      WHILE ( 1 = 1 )
      BEGIN
          INSERT PointInTime SELECT GETDATE()
          WAITFOR DELAY '00:00:001'
      END
    3. Faites un clic droit, puis sélectionnez Run.

  5. Vérifiez la base de données et la table créées dans le volet de navigation de gauche.

Étape 2 : Créer un snapshot cohérent au niveau de l'application dans la console

  1. Accédez à Console ECS - groupe de snapshots cohérents.

  2. Dans le coin supérieur gauche de la page, sélectionnez une région et un groupe de ressources.

  3. Dans l'onglet Snapshot-consistent Groups, cliquez sur Create Snapshot-consistent Group.

  4. Dans la boîte de dialogue Create Snapshot, configurez le groupe de snapshots cohérents.

    1. Le paramètre Resource Types est défini sur Instance par défaut.

    2. Sélectionnez une instance et ses disques de type ESSD.

    3. Développez la section Advanced Settings, sélectionnez Enable Application-consistent Snapshot, puis cochez l'option Contain Writers by Default.

      Remarque

      Les writers (programmeurs) sont des composants clés de l'architecture VSS (Volume Shadow Copy Service). Le système d'exploitation Windows intègre plusieurs writers qui garantissent la cohérence des données lors des sauvegardes. Consultez la documentation Volume Shadow Copy Service.

  5. Cliquez sur OK.

    Cloud Assistant renvoie un ID d'exécution que vous pouvez utiliser pour vérifier le résultat.

Étape 3 : Vérifier que le snapshot cohérent au niveau de l'application a été créé

  1. Cliquez sur l'ID d'exécution de la commande Cloud Assistant pour afficher le résultat.

    
    [level="info"][time="2025-03-03 13:53:03.4228545"][message="Begin to Create Application Consistent Snaps...
    [level="info"][time="2025-03-03 13:53:03.6121396"][message="Network connection RequestId= A29F3C87-E45F-...
    [level="info"][time="2025-03-03 13:53:03.6121396"][message="Attached DiskId=d-2ze6zrzyc4ampol4sv1, Devi...
    [level="info"][time="2025-03-03 13:53:03.6121396"][message="Attached DiskId=d-2zecqmy4929tm5t6haay, Devi...
    [level="info"][time="2025-03-03 13:53:05.1569259"][message="Required COM+ components are already install...
    [level="info"][time="2025-03-03 13:53:05.1569259"][message="Provider version is already latest"]
    [level="info"][time="2025-03-03 13:53:05.1569259"][message="Start to Initialize VSS Requestor ..."]
    [level="info"][time="2025-03-03 13:53:05.1569259"][message="Prepare to Create snapshot set"]
    [requestor="
    "]
    [level="info"][time="2025-03-03 13:53:30.9244374"][message="Create Snapshot Set Successfully"]
    [level="info"][time="2025-03-03 13:53:31.7670453"][message="SnapshotGroup, requestId=E365F945-F0E9-57D4-...
    [level="info"][time="2025-03-03 13:53:32.5651781"][message="Finished Quering SnapshotGroup Progress"]
    [level="info"][time="2025-03-03 13:53:32.5651781"][message="Finish SnapshotGroup=ssg-2ze9bjzro7...
    [level="info"][time="2025-03-03 13:53:32.5651781"][message="Prepare to Thaw FileSystem or Applications"]
    [requestor="
    "]
    [level="info"][time="2025-03-03 13:53:34.5692263"][message="Thaw Write Request Done"]
    [level="info"][time="2025-03-03 13:53:34.8605098"][message="Tag snapshots with AppConsistent"]
    [level="info"][time="2025-03-03 13:53:34.8620327"][message="Take AppConsistent snapshots successfully"]
    [level="info"][time="2025-03-03 13:53:34.8620327"][message="Prepare Freeze=27.0672261s, Thaw cost=2.0040...
    [level="info"][time="2025-03-03 13:53:34.8620327"][snapshotgroup="ssg-2ze9bjzro7rp"][message="Fi...
    Add VolumePath=\\?\Volume{9a80a1cd-3ca9-4afc-xxx}, VolumeName=C:\
    Add VolumePath=\\?\Volume{99583ec9-8979-4842-xxx}, VolumeName=D:\
    Add VolumePath=\\?\Volume{02db53f7-a3f7-4be1-xxx}, VolumeName=
    All writers included
    Finish to GatherWriterMetadata successfully
    

    Le Exit Code est 0, ce qui indique que la commande de snapshot cohérent au niveau de l'application s'est exécutée avec succès. La sortie affiche les ID du snapshot et du groupe de snapshots cohérents.

    Remarque

    Si le Exit Code n'est pas 0, effectuez un dépannage en vous basant sur le Exit Code. Consultez la rubrique Codes d'erreur.

  2. Dans la sortie Cloud Assistant, examinez le processus de création du groupe de snapshots cohérents pour vérifier l'intégrité et la disponibilité des données.

    • Vérifiez si les composants de cohérence (COM+ et VSS) sont installés.

      Les entrées de journal similaires aux suivantes indiquent que le snapshot cohérent au niveau de l'application a été créé avec succès.

      
      [level="info"][time="2025-03-03 13:53:03.6121396"][message="Attached DiskId-d-2ze6z                xxx", Devi
      [level="info"][time="2025-03-03 13:53:03.6121396"][message="Attached DiskId-d-2zecqmy4929tm5t6haay, Devi
      [level="info"][time="2025-03-03 13:53:05.1569259"][message="Required COM+ components are already install
      [level="info"][time="2025-03-03 13:53:05.1569259"][message="Provider version is already latest"]
      [level="info"][time="2025-03-03 13:53:05.1569259"][message="Start to Initialize VSS Requestor ..."]
      [level="info"][time="2025-03-03 13:53:05.1569259"][message="Prepare to Create snapshot set"]
      [requestor="
              "]
      
      [level="info"][time="2025-03-03 13:53:30.9244374"][message="Create Snapshot Set Successfully"]
      [level="info"][time="2025-03-03 13:53:31.7670453"][message="SnapshotGroup, requestId-E365F945-F0E9-57D4-
      [level="info"][time="2025-03-03 13:53:32.5651781"][message="Finished Quering SnapshotGroup Progress"]
      [level="info"][time="2025-03-03 13:53:32.5651781"][message="Finish SnapshotGroup-ssg-2ze9bjz
      [level="info"][time="2025-03-03 13:53:32.5651781"][message="Prepare to Thaw FileSystem or Applications"]
      
    • Vérifiez que le système peut identifier et charger tous les volumes logiques pour la sauvegarde.

      Les entrées Add VolumePath dans le journal montrent que C:\, D:\ et un volume sans nom ont été ajoutés en tant que volumes de snapshot.

      
      [level="info"][time="2025-03-03 13:53:34.5692263"][message="Thaw Write Request Done"]
      [level="info"][time="2025-03-03 13:53:34.8605098"][message="Tag snapshots with AppConsistent"]
      [level="info"][time="2025-03-03 13:53:34.8620327"][message="Take AppConsistent snapshots successfully"]
      [level="info"][time="2025-03-03 13:53:34.8620327"][message="Prepare Freeze=27.0672261s, Thaw cost=2.0040xxx
      [level="info"][time="2025-03-03 13:53:34.8620327"][snapshotgroup="ssg-2ze9bjzro7rxxx"][message="Fixxx
      Add VolumePath=\\?\Volume{9a80a1cd-3ca9-4afc-b38d-11d8e7d74606}\, VolumeName=C:\
      Add VolumePath=\\?\Volume{99583ec9-8979-4842-a45a-21da7d15dc1d}\, VolumeName=D:\
      Add VolumePath=\\?\Volume{02db53f7-a3f7-4be1-92f3-8a7ca9324115}\, VolumeName=
      All writers included
      Finish to GatherWriterMetadata successfully
      
    • Vérifiez si les bases de données SQL Server sont automatiquement incluses pour assurer la cohérence.

      La sortie de la commande montre que SqlServerWriter a automatiquement inclus les bases de données master, model, msdb et AdventureWorks sous l'instance SQLEXPRESS, confirmant ainsi la création réussie du snapshot cohérent au niveau de l'application.

      
      * Writer 'Performance Counters Writer':
          - Add component \PerformanceCounters
      * Writer 'System Writer':
          - Add component \System Files
          - Add component \Win32 Services Files
      * Writer 'SqlServerWriter':
          - Add component \iZpo1skdv7v082Z\SQLEXPRESS\master
          - Add component \iZpo1skdv7v082Z\SQLEXPRESS\model
          - Add component \iZpo1skdv7v082Z\SQLEXPRESS\msdb
          - Add component \iZpo1skdv7v082Z\SQLEXPRESS\AdventureWorks
      * Writer 'ASR Writer':
          - Add component \ASR\ASR
          - Add component \Volumes\Volume{9a80a1cd-3ca9-4afc-xxx}
          - Add component \Volumes\Volume{02db53f7-a3f7-4be1-xxx}
          - Add component \Volumes\Volume{99583ec9-8979-4842-xxx}
      
    • Le snapshot a été créé à 2025-03-03 13:53:30. Les opérations d'écriture ont été suspendues à ce moment-là.

      
      [level="info"][time="2025-03-03 13:53:05.1569259"][message="Provider version is already latest"]
      [level="info"][time="2025-03-03 13:53:05.1569259"][message="Start to Initialize VSS Requestor ..."]
      [level="info"][time="2025-03-03 13:53:05.1569259"][message="Prepare to Create snapshot set"]
      [requestor=
      "]
      [level="info"][time="2025-03-03 13:53:30.9244374"][message="Create Snapshot Set Successfully"]
      [level="info"][time="2025-03-03 13:53:31.7670453"][message="SnapshotGroup, requestId=E365F945-F0E9-57D4-xxx"]
      [level="info"][time="2025-03-03 13:53:32.5651781"][message="Finished Quering SnapshotGroup Progress"]
      [level="info"][time="2025-03-03 13:53:32.5651781"][message="Finish SnapshotGroup=ssg-2ze9bjzro7rplr81xvfxxx"]
      [level="info"][time="2025-03-03 13:53:32.5651781"][message="Prepare to Thaw FileSystem or Applications"]
      
  3. Consultez les informations relatives au groupe de snapshots cohérents et aux snapshots de disque.

    1. Accédez à Console ECS - groupe de snapshots cohérents.

    2. Dans l'onglet Snapshot-consistent Groups, localisez le groupe de snapshots cohérents et cliquez sur son ID.

    3. Dans la section Snapshot Information, vérifiez les tags des snapshots pour confirmer la création d'un snapshot cohérent au niveau de l'application.

      Dans cet exemple, le snapshot de disque porte le tag APPConsistent:True, ce qui confirme la création d'un snapshot cohérent au niveau de l'application.

  4. Connectez-vous à SQL Server pour vérifier quand les validations de données ont été suspendues.

    1. Connectez-vous à l'instance ECS.

      Consultez la rubrique Se connecter à une instance Windows à l'aide de Workbench.

    2. Connectez-vous à SQL Server à l'aide de Microsoft SQL Server Management Studio 18.

    3. Cliquez sur New Query.

    4. Saisissez l'instruction SQL suivante dans la fenêtre de requête.

      USE AdventureWorks
      select * from PointInTime
      GO
    5. Faites un clic droit, puis sélectionnez Run.

    6. Vérifiez l'heure de suspension dans les résultats de la requête.

      Le résultat de la requête ci-dessous affiche les enregistrements PIT. Aucune donnée n'a été insérée entre 2025-03-03 13:53:30 et 2025-03-03 13:53:33, ce qui indique que les opérations d'écriture ont été suspendues à 13:53:30 et ont repris à 13:53:33.

      
      PIT
      622  2025-03-03 13:53:23.843
      623  2025-03-03 13:53:23.843
      624  2025-03-03 13:53:24.860
      624  2025-03-03 13:53:25.887
      625  2025-03-03 13:53:26.893
      626  2025-03-03 13:53:26.903
      626  2025-03-03 13:53:27.907
      627  2025-03-03 13:53:27.903
      628  2025-03-03 13:53:29.913
      629  2025-03-03 13:53:30.923
      630  2025-03-03 13:53:33.613
      631  2025-03-03 13:53:34.693
      632  2025-03-03 13:53:35.703
      633  2025-03-03 13:53:36.720
      634  2025-03-03 13:53:37.733
      

Étape 4 : Vérifier la restauration des données à partir du snapshot cohérent au niveau de l'application

  1. Restaurez le disque à l'aide du groupe de snapshots cohérents que vous avez créé.

  2. Connectez-vous à nouveau à SQL Server et interrogez la table PointInTime.

    1. Connectez-vous à l'instance ECS.

      Consultez la rubrique Se connecter à une instance Windows à l'aide de Workbench.

    2. Connectez-vous à SQL Server à l'aide de Microsoft SQL Server Management Studio 18.

    3. Cliquez sur New Query.

    4. Saisissez l'instruction SQL suivante dans la fenêtre de requête.

      USE AdventureWorks
      select * from PointInTime
      GO
    5. Cliquez sur Run.

    6. Vérifiez l'horodatage du dernier enregistrement après la restauration.

      Le dernier enregistrement inséré présente un horodatage de 2025-03-03 13:53:29, antérieur à l'horodatage de suspension 2025-03-03 13:53:30 indiqué à l'Étape 3. Cela confirme la réussite de la sauvegarde par snapshot cohérent au niveau de l'application.