Automatize tarefas de banco de dados na edição SQL Server Express em execução na Amazon EC2 usando AWS Lambda um Agendador de Tarefas - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Automatize tarefas de banco de dados na edição SQL Server Express em execução na Amazon EC2 usando AWS Lambda um Agendador de Tarefas

Subhani Shaik, Amazon Web Services

Resumo

Este padrão demonstra como agendar e gerenciar tarefas de banco de dados na edição SQL Server Express, que é a versão gratuita do SQL Server. No entanto, a edição SQL Server Express não conta com o serviço SQL Server Agent, que normalmente é responsável pelas operações automatizadas do banco de dados. Esse padrão explica como você pode usar o Agendador de Tarefas e o Lambda como uma alternativa para automatizar tarefas de banco de dados na edição SQL Server Express executada em uma instância do Amazon Elastic Compute Cloud (Amazon). EC2

O Agendador de Tarefas consiste em um utilitário integrado do sistema Windows que facilita a execução automática de tarefas rotineiras. Ele fornece um mecanismo para agendar e gerenciar operações automatizadas, eliminando a necessidade de intervenção manual em processos recorrentes. O AWS Lambda é um serviço de computação com tecnologia sem servidor que executa código automaticamente em resposta a eventos, sem exigir que você gerencie a infraestrutura subjacente.

Pré-requisitos e limitações

Pré-requisitos

  • Um ativo Conta da AWS

  • Uma nuvem privada virtual (VPC) criada com a Amazon Virtual Private Cloud (Amazon VPC)

  • Uma EC2 instância da Amazon com Windows Server

  • Volumes do Amazon Elastic Block Store (Amazon EBS) anexados a uma instância da EC2 Amazon com o Windows Server

  • Arquivos binários da edição SQL Server Express

Limitações

  • Para obter informações sobre as limitações de recursos da edição SQL Server Express, consulte o site da Microsoft.

  • Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para conferir a disponibilidade de uma região, consulte AWS Services by Region. Para endpoints específicos, consulte Service endpoints and quotas e clique no link correspondente ao serviço desejado.

Versões do produto

  • SQL Server 2016 ou versões posteriores com a edição SQL Server Express

Arquitetura

O diagrama a seguir mostra uma EC2 instância da Amazon em execução com a edição SQL Server Express instalada. A instância pode ser acessada por meio do cliente Remote Desktop Protocol (RDP) ou de AWS Systems Manager Session Manager. AWS Key Management Service (AWS KMS) gerencia a criptografia de dados dos volumes do Amazon EBS para garantir a data-at-rest segurança. A infraestrutura também inclui AWS Identity and Access Management (IAM), que fornece controle de acesso e gerencia permissões para a execução das funções do Lambda. O Amazon Simple Storage Service (Amazon S3) armazena as funções do Lambda.

Uma EC2 instância da Amazon em execução com a edição SQL Server Express instalada em uma sub-rede privada.

Ferramentas

Serviços da AWS

Outras ferramentas

  • O Microsoft SQL Server Management Studio (SSMS) é uma ferramenta para gerenciar o SQL Server, incluindo acesso, configuração e administração de componentes do SQL Server.

  • Python é uma linguagem de programação de computador de uso geral. É possível usá-lo para criar aplicações, automatizar tarefas e desenvolver serviços na Nuvem AWS.

  • O Agendador de Tarefas é uma ferramenta da Microsoft que possibilita agendar, de forma automática, tarefas rotineiras no seu computador.

Práticas recomendadas

Épicos

TarefaDescriptionHabilidades necessárias

Implante uma EC2 instância da Amazon.

Para criar uma EC2 instância da Amazon, abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/e selecione uma Amazon Machine Image (AMI) na lista de instâncias disponíveis para o Windows Server.

Para obter mais informações, consulte Iniciar uma EC2 instância da Amazon na AWS documentação.

DBA, AWS DevOps

Instale a edição SQL Server Express.

Para instalar a edição SQL Server Express, conclua as seguintes etapas:

  1. Para se conectar à sua EC2 instância da Amazon, escolha uma opção:

  2. Para fazer o download da edição SQL Server Express requerida, acesse a página de SQL Server Downloads no site da Microsoft.

  3. Para instalar a edição SQL Server Express, siga as instruções apresentadas em Plan a SQL Server installation no site da Microsoft.

DBA, AWS DevOps
TarefaDescriptionHabilidades necessárias

Identifique tarefas rotineiras.

Identifique as tarefas rotineiras que você deseja automatizar. Por exemplo, as seguintes tarefas são elegíveis para automação:

  • Backups de banco de dados (completos, diferenciais e log de transações)

  • Manutenção e reorganização de índices

  • Atualizações de estatísticas

  • Operações específicas da aplicação

  • Limpeza ou arquivamento de dados

DBA

Prepare scripts SQL.

Para preparar scripts SQL, execute as seguintes etapas:

  1. Crie consultas SQL para cada tarefa de manutenção. A seguir, apresentamos um exemplo da consulta T-SQL para realizar um backup específico do banco de dados: Backup Database <Database_Name> To Disk='C:\Backups\Database_Name.bak'

  2. Salve o arquivo do script como <File Name>.sql. Em seguida, salve os scripts em um local acessível na unidade local do servidor na EC2 instância da Amazon ou em um compartilhamento de arquivos de rede.

DBA

Configure as permissões de acesso.

Para configurar as permissões de acesso, execute as seguintes etapas:

  1. Defina as permissões apropriadas no sistema de arquivos. Para obter instruções, consulte Configure file system permissions for Database Engine access no site da Microsoft.

  2. Verifique se a conta de serviço do SQL Server tem o acesso necessário. Para obter instruções, consulte Configure Windows service accounts and permissions no site da Microsoft.

  3. Confirme a conectividade de rede para compartilhamentos remotos. Para obter mais informações, consulte Acessando dados usando compartilhamentos de arquivos na AWS documentação.

DBA
TarefaDescriptionHabilidades necessárias

Crie arquivos em lotes.

  • Para criar um arquivo em lote, use um editor de texto para digitar o comando apresentado a seguir. Substitua os parâmetros username e password pelos seus próprios valores. Em seguida, salve o arquivo como <Name>.bat.

sqlcmd -S servername -U username -P password -i <T-SQL query path.sql>
  • Para criar um arquivo em lote para tarefas do SQL, use um editor de texto e digite os comandos apresentados a seguir. Substitua os parâmetros ServerName, DatabaseName, username e password pelos seus próprios valores. Em seguida, salve o arquivo como <Name>.bat.

@echo off sqlcmd -S [ServerName] -d [DatabaseName] -U username -P password -i "PathToSQLScript\Script.sql" -o "PathToOutput\Output.txt"
AWS DevOps, DBA

Crie tarefas no Agendador de Tarefas.

Para criar uma tarefa no Agendador de Tarefas, use as seguintes etapas:

  1. Para abrir o Agendador de Tarefas, digite taskschd.msc na pesquisa do Windows.

  2. Escolha o menu Ação e, em seguida, selecione Criar tarefa básica.

  3. Em Nome, forneça um nome para a tarefa e, em seguida, selecione Próximo.

  4. Em Acionador, selecione quando deseja que a tarefa seja iniciada e, em seguida, escolha Próximo.

  5. Informe os detalhes de Início e Recorrência da tarefa e, em seguida, escolha Próximo.

  6. Na seção Ação, selecione Iniciar um programa e, em seguida, escolha Próximo.

  7. Em Programa/Script, especifique o caminho para o arquivo em lote criado na tarefa anterior e, em seguida, selecione Próximo.

  8. Escolha Terminar.

Para executar a tarefa manualmente, clique com o botão direito na tarefa recém-criada e selecione Executar.

DBA

Visualize o status da tarefa.

Para visualizar o status de uma tarefa no Agendador de Tarefas, use as seguintes etapas:

  1. No Agendador de Tarefas, acesse a Biblioteca do Agendador de Tarefas, que exibe todas as tarefas.

  2. Para visualizar o status da tarefa criada anteriormente, selecione-a e acesse a guia Histórico.

DBA, AWS DevOps
TarefaDescriptionHabilidades necessárias

Implemente a solução.

Para implementar a solução deste padrão, use as seguintes etapas:

  1. Crie uma função do Lambda. Para obter instruções, consulte Criar sua primeira função do Lambda na AWS documentação.

  2. Agende a função do Lambda. Para obter instruções, consulte Invocar uma função Lambda em um cronograma na AWS documentação.

  3. Execute consultas T-SQL. Para obter mais informações, consulte Tutorial: Usando uma função Lambda para acessar um banco de dados do Amazon RDS na documentação. AWS O tutorial explica como estabelecer conexão entre bancos de dados do Amazon RDS e funções do Lambda para executar consultas SQL.

AWS DevOps, DevOps engenheiro

Solução de problemas

ProblemaSolução

Problemas relacionados ao Lambda

Para obter ajuda com erros e problemas que você pode encontrar ao usar AWS Lambda, consulte Solução de problemas no Lambda na AWS documentação.

Recursos relacionados