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.
NotaO 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.
-
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.
-
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.
-
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.
-
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
-
Conecte-se à instância ECS.
-
Conecte-se ao banco de dados SQL Server.
-
Clique no ícone de pesquisa no canto inferior esquerdo e insira
ssms. Agora, clique em Microsoft SQL Server Management Studio 18.
Na caixa de diálogo Connect to Server, configure a conexão e clique em Connect.
-
-
No Microsoft SQL Server Management Studio 18, crie o banco de dados de validação (AdventureWorks).
Clique em New Query.
-
Agora, insira a seguinte instrução SQL na janela de consulta.
CREATE DATABASE AdventureWorks; Clique em Run.
-
No Microsoft SQL Server Management Studio 18, crie a tabela de validação (PointInTime).
Clique em New Query.
-
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 Clique com o botão direito em Run.
-
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
Para começar, acesse o console do ECS - grupo de consistência de snapshots.
No canto superior esquerdo da página, selecione uma região e um grupo de recursos.
Na guia Snapshot-consistent Groups, clique em Create Snapshot-consistent Group.
-
Na caixa de diálogo Create Snapshot, configure o grupo de consistência de snapshots.
Por padrão, defina Resource Types como Instance.
Agora, selecione uma instância e seus discos do tipo ESSD.
-
Expanda Advanced Settings, ative a opção Enable Application-consistent Snapshot e, em seguida, selecione Contain Writers by Default.
NotaOs 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.
-
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
-
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 successfullyO 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.NotaSe o Exit Code não for
0, solucione o problema com base no Exit Code. Consulte Error codes. -
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"]
-
-
Agora, visualize as informações sobre o grupo de consistência de snapshots e os snapshots de disco.
Acesse o console do ECS - grupo de consistência de snapshots.
Na guia Snapshot-consistent Groups, localize o grupo de consistência de snapshots e clique no ID do grupo.
-
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.
-
Conecte-se ao SQL Server para verificar quando os commits de dados foram pausados.
-
Conecte-se à instância ECS.
Conecte-se ao SQL Server com o Microsoft SQL Server Management Studio 18.
Clique em New Query.
-
Agora, insira a seguinte instrução SQL na janela de consulta.
USE AdventureWorks select * from PointInTime GO Clique com o botão direito em Run.
-
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:30e2025-03-03 13:53:33, indicando que as operações de gravação foram pausadas às13:53:30e retomadas às13: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
-
Reverta o disco usando o grupo de consistência de snapshots que você criou.
-
Conecte-se ao SQL Server novamente e consulte a tabela PointInTime.
-
Conecte-se à instância ECS.
Conecte-se ao SQL Server com o Microsoft SQL Server Management Studio 18.
Clique em New Query.
-
Agora, insira a seguinte instrução SQL na janela de consulta.
USE AdventureWorks select * from PointInTime GO Clique em Run.
-
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 pausa2025-03-03 13:53:30da Etapa 3. Isso confirma o sucesso do backup de snapshot consistente com a aplicação.
-