Exercício – recuperar dados ao restaurar uma base de dados SQL do Azure

Concluído

Os restauros de teste são um componente essencial de qualquer estratégia de recuperação após desastre.

O objetivo é familiarizar-se com os passos para restaurar uma base de dados em cópia de segurança para um ponto específico no tempo, caso seja necessário. Você também deseja investigar quanto tempo leva uma operação de restauração. Dessa forma, você pode se planejar para esse momento em sua orientação para sua organização.

Vamos executar uma restauração a partir de backups automatizados do Banco de Dados SQL do Azure.

Confirmar que as cópias de segurança estão ativas

Podem ser necessários até 15 minutos para que a primeira cópia de segurança bem-sucedida seja concluída. Temos de garantir que as cópias de segurança estão em execução antes de continuarmos o exercício.

  1. No Azure Cloud Shell, execute o seguinte comando do PowerShell para definir uma variável para o valor da sua instância do SQL Server:

    $sqlserver=Get-AzSqlServer
    
  2. Valide se os backups contínuos estão em execução usando este comando:

    Get-AzSqlDatabaseRestorePoint `
        -ResourceGroupName <rgn>[sandbox resource group name]</rgn> `
        -DatabaseName sql-erp-db `
        -ServerName $sqlserver.ServerName
    

    Você deve obter uma saída semelhante ao código a seguir se os backups estiverem em execução. Se o comando não devolver nenhum valor, significa que ainda não foi iniciada uma cópia de segurança. Volte a executar este comando dentro de uns minutos.

    ResourceGroupName        : <rgn>[sandbox resource group name]</rgn>
    ServerName               : erpserver-53903
    DatabaseName             : sql-erp-db
    Location                 : East US
    RestorePointType         : CONTINUOUS
    RestorePointCreationDate :
    EarliestRestoreDate      : 9/24/19 4:21:21 PM
    RestorePointLabel        :
    

    O RestorePointType é CONTINUOUS, o que indica que as cópias de segurança ocorrem automaticamente. O EarliestRestoreDate indica a data/hora da primeira cópia de segurança. Com as cópias de segurança implementadas, vamos continuar o exercício.

Retirar uma tabela da base de dados

Comecemos por simular uma modificação de base de dados incorreta.

  1. No menu do portal do Azure ou na página inicial, selecione Todos os recursos, selecione erpserver-NNNN, selecione bancos de dados SQL e selecione o banco de dados sql-erp-db.

  2. Selecione Editor de consultas (visualização) e, em seguida, inicie sessão com o utilizador dbadmin e a palavra-passe que especificou para esta conta.

  3. Vamos remover a tabela Pessoa que criámos anteriormente. Numa janela de nova consulta, execute este comando.

    DROP TABLE Person
    
  4. Para verificar as tabelas na base de dados, selecione Nova Consulta. Em seguida, na janela Consulta 2 , execute este comando para listar todas as tabelas no banco de dados:

    SELECT schema_name(t.schema_id) as schema_name,
        t.name as table_name
    FROM sys.tables t
    ORDER BY schema_name, table_name;
    

    Deverá ver Sem resultados, pois eliminámos a tabela Pessoa.

    Screenshot that shows no results returned after querying for the tables in the database.

Executar um restauro para um ponto anterior no tempo

A tabela Pessoa foi eliminada por engano. Agora vamos restaurar a base de dados para o estado anterior.

  1. No menu do portal do Azure ou a partir da Home page, selecione Todos os recursos e, em seguida, selecione a base de dados sql-erp-db.

  2. Na parte superior da página Descrição geral, selecione Restaurar.

  3. Preencha a guia Noções básicas na página Restaurar banco de dados com esses valores e selecione Revisar + criar.

    Definição valor
    Selecionar origem Ponto no tempo
    Nome da base de dados sql-erp-db-xxxxx
    Ponto de restauro Selecione uma hora há 10 minutos, antes de ter removido a tabela Pessoa
    Servidor erpserver-xxxxx
    Quer utilizar o conjunto de bases de dados elásticas SQL? Não
    Computação + armazenamento Default value
    Redundância de armazenamento de cópias de segurança Armazenamento de backup com redundância local

    Screenshot that shows the restore database page with the Review + create button selected.

  4. Selecione Criar. A restauração do banco de dados leva vários minutos para ser concluída.

Ver a base de dados restaurada

A base de dados restaurada deve conter a tabela Pessoa. Pode verificar isto no portal.

  1. No menu do portal do Azure ou a partir da Home page, selecione Todos os recursos e, em seguida, selecione a base de dados sql-erp-db-restored.

  2. Selecione Editor de consultas (visualização) e entre com o usuário dbadmin e a senha especificada para essa conta.

  3. Para verificar as tabelas no banco de dados, na janela Consulta 1 , execute este comando:

    SELECT schema_name(t.schema_id) as schema_name,
        t.name as table_name
    FROM sys.tables t
    ORDER BY schema_name, table_name;
    

    A tabela Pessoa deverá agora estar presente.

    Screenshot showing results after querying for the tables in the database.

  4. Confirme se os dados estão na tabela executando este comando:

    SELECT * FROM Person
    

    Deverá ver os dados que introduziu anteriormente.

    Screenshot showing confirmed results after querying for the tables in the database.

Agora você aprendeu como restaurar um banco de dados se algo não intencional acontecer com os dados. Também já conhece o processo de restauro. Agora você pode garantir à sua organização que definiu corretamente os procedimentos de backup e restauração.