Hoje em dia o tempo vale muito, cada minuto é crucial. Pensando nisso, a automação veio com objetivo de nos ajudar com rotinas repetitivas e cansativas. Neste artigo falaremos sobre a automação de rotinas de backup do SQL Server na nuvem, utilizando para isto a AWS.
O que você precisa saber antes de começar
Não precisamos usar ferramentas de terceiros, nesse exemplo usaremos o SQL Server 2019 Enterprise.
Importante: essa configuração não funciona com a versão EXPRESS.
É preciso já ter realizado a instalação do SQL Server. Caso não tenha instalado, você pode seguir esse tutorial: Guia de instalação do SQL Server.
Agora vamos começar!
Abrindo o SQL Server Management Studio, veremos todas as bases do lado esquerdo da tela:
A forma mais comum de se realizar o backup pode ser visualizada na imagem a seguir. Clique com o botão direito em cima da base de dados, escolha Tarefas e depois Fazer Backup.
Selecione a base de dados, tipo de backup desejado, o local de armazenamento para o backup e clique em OK.
Aguarde um pouco. Lembre-se de que o tempo para fazer o backup vai depender do tamanho da base de dados.
Imagina precisar fazer isso todo dia, em horários específicos. Além de não ser produtivo, aumenta muito as chances de falhas humanas.
Mas que tal automatizar as rotinas de backup SQL Server?
Para minimizar a possibilidade de falha humana podemos agendar o backup. Para isso, habilite a opção SQL Server Agent. Inicie o Gerenciador de Serviços do Windows (services.msc) e procure SQL Server Agent. Altere o tipo de inicialização para Automático e depois clique em Iniciar o serviço.
Vamos voltar lá na base, no procedimento de backup e copiar o script. Agora podemos criar um backup que será executado automaticamente.
Para isso, como no procedimento anterior, clique no banco de dados que deseja fazer o backup e inicie o processo. Clique sobre a opção Script e depois em Ação de Script no Arquivo.
Aparecerá uma janela para escolher o local do arquivo, fica a seu critério o local de armazenamento do script. Neste exemplo, o script será salvo na própria pasta do SQL 2019.
Nesse script, temos o procedimento de backup que o agendador faz automaticamente para você, dizendo o local de armazenamento do arquivo e o tipo de backup.
GO!
Para criar o agendamento, clique com o botão direito em SQL Server Agent, escolha Novo e depois Trabalho.
Neste ponto coloque o nome do backup e caso fique melhor organizado pra você, pode ser adicionado uma descrição.
Vamos cadastrar o backup da base e armazenar localmente no servidor (em vez de realizarmos de forma manual, como mostrado anteriormente o agent fará isso pra nós).
Agora, clique em Etapas > Novo
Teremos a janela a seguir, informe o Nome e selecione o Banco para Backup.
Lembra do script que salvamos? Então, abra o arquivo e copie o comando e cole na opção Comando, clique em OK.
Agora, vamos à opção Agendas > Nova.
Escolha o melhor dia e horário para realizar a tarefa, finalizando, clique em OK.
Agora temos o agendamento cadastrado, aparecerá assim:
Se você precisar ou querer, pode gerar notificações por e-mail:
Clique em OK para finalizar.
Ao abrir o SQL Server Agent, você terá o cadastro da nossa rotina:
Afinal, como automatizar rotinas de Backup SQL Server na AWS?
Show, temos nossa rotina de backup configurada! Agora, como faz pra armazenar na AWS?
Caso você não tenha configurado a AWS na sua máquina e criado o bucket, pode seguir os docs abaixo:
- Instalar, atualizar e desinstalar a AWS CLI;
- Configurações de arquivos de configuração e credenciais;
- Como criar um bucket do S3?
Bucket criado e conta da AWS sincronizada com o servidor? Agora faremos o seguinte:
Enviaremos o arquivo para a AWS assim:
aws s3 sync "C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Backup" s3://sql-server-lab-bkp
Observação: Lembrando que é necessário alterar os parâmetros do caminho do arquivo de backup e de bucket S3 antes de rodar no seu terminal, beleza?
Você deve ter se perguntado “mas, o que esse comando faz, afinal?”
Nós estamos enviando o arquivo no caminho de backup padrão do SQL para o bucket S3 “sql-server-lab-bkp”.
No terminal ficará assim:
Dependendo da velocidade da sua internet e do tamanho do arquivo pode demorar um pouco.
Quando o envio foi concluído com êxito, podemos checar na AWS:
Vamos agora salvar um arquivo .bat com a linha de comando que utilizamos anteriormente, dentro da pasta do SQL 2019, mas fica a seu critério onde armazenar.
Para finalizar, colocaremos o agendamento do Windows para enviar o arquivo para AWS automaticamente no Programador de Tarefas.
Botão Direito em Programador de Tarefas > Criar Tarefa.
Edite os campos marcados em vermelho:
Clique na aba “Acionadores” > Novo.
Cadastre o período de envio conforme desejar, como estamos realizando backup semanal, seguimos nessa linha para a configuração
Clique em OK.
Vá na aba “Ações” > Novo.
Nessa nova janela, adicione o caminho do arquivo .bat que criamos e clique em OK.
Ele pedirá a senha de usuário, adicione e clique em OK
E acabamos!
Não perca tempo em ações que podem ser automatizadas!
Espero que tenha ficado clara a importância de realizar backups com frequência e porque essa atividade não pode depender da memória e disponibilidade de uma pessoa.
Ficou com alguma dúvida ou quer fazer alguma sugestão? Então comenta aqui embaixo!