Todos os produtos
Search
Central de documentação

Elastic Compute Service:Create application-consistent snapshots for SQL Server on Windows

Última atualização: Sep 22, 2026

Por favor, verifique o backup de snapshot consistente com a aplicação para o SQL Server 2019 (64 bits) em uma instância ecs com Windows Server 2019.

Pré-requisitos

  • A instância ECS usa ESSDs e o recurso multi-attach está desativado para os discos.

  • A instância ECS está no estado Running. O Cloud Assistant está no estado Normal na instância. Para que você visualize o status do Cloud Assistant, consulte Check Cloud Assistant status and troubleshoot exceptions.

  • No Windows, instale um banco de dados SQL Server.

  • Uma função RAM com uma política personalizada para snapshots consistentes com a aplicação está associada à instância ECS. Consulte Create a RAM role and attach it to an ECS instance.

    Nota

    O Cloud Assistant requer permissões específicas para que ele execute comandos na instância ECS. Conceda essas permissões por meio da função RAM.

    • Configure uma função RAM personalizada, como AppSnapshotRoleName.

    • Associe uma política personalizada à função RAM. A política de exemplo a seguir concede permissões para consultar snapshots, criar snapshots, adicionar tags e consultar informações do disco.

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

Visão geral

Um snapshot consistente com a aplicação pausa as operações de gravação para capturar um estado consistente do banco de dados, reduzindo o risco de corrupção ou perda de dados durante a restauração.

image
  1. Etapa 1: Preparar o ambiente de banco de dados para validação

    Primeiro, crie uma tabela de banco de dados e um procedimento armazenado para simular gravações contínuas de dados para verificação posterior.

  2. Etapa 2: Criar um snapshot consistente com a aplicação no console

    Em seguida, crie um snapshot consistente com a aplicação para a instância Windows que hospeda o SQL Server. O processo de criação do snapshot pausa temporariamente as operações de gravação.

  3. Etapa 3: Verificar se o snapshot consistente com a aplicação foi criado

    Agora, verifique o resultado do comando do Cloud Assistant e confirme os carimbos de data e hora nos quais as operações de gravação foram pausadas e retomadas.

  4. Etapa 4: Verificar a restauração de dados a partir do snapshot consistente com a aplicação

    Reverta o disco usando o snapshot consistente com a aplicação e compare o horário da última gravação com o horário da pausa para verificar se a restauração ocorreu corretamente.

    • Se o horário da última gravação for anterior ao horário da pausa: nenhuma gravação ocorreu durante a pausa. O estado restaurado do banco de dados é consistente com o snapshot.

    • Se o horário da última gravação for igual ou posterior ao horário da pausa: ocorreram gravações durante a pausa. O snapshot consistente com a aplicação não funcionou conforme o esperado.

Procedimento

Etapa 1: Preparar o ambiente de banco de dados para validação

  1. Conecte-se à instância ECS.

  2. Conecte-se ao banco de dados SQL Server.

    1. Clique no ícone de pesquisa no canto inferior esquerdo e insira ssms.

    2. Agora, clique em Microsoft SQL Server Management Studio 18.

    3. Na caixa de diálogo Connect to Server, configure a conexão e clique em Connect.

  3. No Microsoft SQL Server Management Studio 18, crie o banco de dados de validação (AdventureWorks).

    1. Clique em New Query.

    2. Agora, insira a seguinte instrução SQL na janela de consulta.

      CREATE DATABASE AdventureWorks;
    3. Clique em Run.

  4. No Microsoft SQL Server Management Studio 18, crie a tabela de validação (PointInTime).

    1. Clique em New Query.

    2. Agora, insira a seguinte instrução SQL na janela de consulta.

      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. Clique com o botão direito em Run.

  5. Verifique o banco de dados e a tabela criados no painel de navegação à esquerda.

Etapa 2: Criar um snapshot consistente com a aplicação no console

  1. Para começar, acesse o console do ECS - grupo de consistência de snapshots.

  2. No canto superior esquerdo da página, selecione uma região e um grupo de recursos.

  3. Na guia Snapshot-consistent Groups, clique em Create Snapshot-consistent Group.

  4. Na caixa de diálogo Create Snapshot, configure o grupo de consistência de snapshots.

    1. Por padrão, defina Resource Types como Instance.

    2. Agora, selecione uma instância e seus discos do tipo ESSD.

    3. Expanda Advanced Settings, ative a opção Enable Application-consistent Snapshot e, em seguida, selecione Contain Writers by Default.

      Nota

      Os writers são componentes essenciais da arquitetura do Volume Shadow Copy service (VSS). O sistema operacional Windows inclui vários writers que garantem a consistência dos dados durante o backup. Consulte Volume Shadow Copy Service.

  5. Clique em OK.

    O Cloud Assistant retorna um ID de execução que você pode usar para verificar o resultado.

Etapa 3: Verificar se o snapshot consistente com a aplicação foi criado

  1. Clique no ID de execução do comando do Cloud Assistant para visualizar o resultado.

    
    [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
    

    O Exit Code é 0, indicando que o comando de snapshot consistente com a aplicação foi executado com sucesso. A saída mostra os IDs do snapshot e do grupo de consistência de snapshots.

    Nota

    Se o Exit Code não for 0, solucione o problema com base no Exit Code. Consulte Error codes.

  2. Na saída do Cloud Assistant, revise o processo de criação do grupo de consistência de snapshots para verificar a integridade e a disponibilidade dos dados.

    • Verifique se os componentes de consistência (COM+ e VSS) estão instalados.

      As entradas de log a seguir indicam que o snapshot consistente com a aplicação foi criado com sucesso.

      
      [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"]
      
    • Verifique se o sistema identifica e carrega todos os volumes lógicos para backup.

      As entradas Add VolumePath no log mostram que C:\, D:\ e um volume sem nome foram adicionados como 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
      
    • Verifique se os bancos de dados do SQL Server são incluídos automaticamente para consistência.

      A saída do comando mostra que o SqlServerWriter incluiu automaticamente os bancos de dados master, model, msdb e AdventureWorks na instância SQLEXPRESS, confirmando que o snapshot consistente com a aplicação foi criado com sucesso.

      
      * 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}
      
    • O snapshot foi criado em 2025-03-03 13:53:30. As operações de gravação foram pausadas nesse momento.

      
      [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. Agora, visualize as informações sobre o grupo de consistência de snapshots e os snapshots de disco.

    1. Acesse o console do ECS - grupo de consistência de snapshots.

    2. Na guia Snapshot-consistent Groups, localize o grupo de consistência de snapshots e clique no ID do grupo.

    3. Na seção Snapshot Information, verifique as tags do snapshot para confirmar se um snapshot consistente com a aplicação foi criado.

      Neste exemplo, o snapshot de disco tem a tag APPConsistent:True, confirmando que um snapshot consistente com a aplicação foi criado.

  4. Conecte-se ao SQL Server para verificar quando os commits de dados foram pausados.

    1. Conecte-se à instância ECS.

      Consulte Log on to a Windows instance using Workbench.

    2. Conecte-se ao SQL Server com o Microsoft SQL Server Management Studio 18.

    3. Clique em New Query.

    4. Agora, insira a seguinte instrução SQL na janela de consulta.

      USE AdventureWorks
      select * from PointInTime
      GO
    5. Clique com o botão direito em Run.

    6. Verifique o horário da pausa nos resultados da consulta.

      O resultado da consulta a seguir mostra os registros PIT. Nenhum dado foi inserido entre 2025-03-03 13:53:30 e 2025-03-03 13:53:33, indicando que as operações de gravação foram pausadas às 13:53:30 e retomadas às 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
      

Etapa 4: Verificar a restauração de dados a partir do snapshot consistente com a aplicação

  1. Reverta o disco usando o grupo de consistência de snapshots que você criou.

  2. Conecte-se ao SQL Server novamente e consulte a tabela PointInTime.

    1. Conecte-se à instância ECS.

      Consulte Log on to a Windows instance using Workbench.

    2. Conecte-se ao SQL Server com o Microsoft SQL Server Management Studio 18.

    3. Clique em New Query.

    4. Agora, insira a seguinte instrução SQL na janela de consulta.

      USE AdventureWorks
      select * from PointInTime
      GO
    5. Clique em Run.

    6. Verifique o carimbo de data e hora do último registro após a restauração.

      O último registro inserido tem o carimbo de data e hora 2025-03-03 13:53:29, anterior ao carimbo de data e hora da pausa 2025-03-03 13:53:30 da Etapa 3. Isso confirma o sucesso do backup de snapshot consistente com a aplicação.