O blog da AWS

O Amazon RDS Custom for SQL Server oferece suporte ao SQL Server 2022

Por Jose A. Ramirez e Kalyan Banala

O Amazon Relational Database Service (Amazon RDS) Custom for SQL Server agora oferece suporte ao Microsoft SQL Server 2022 para edições Web, Standard, Enterprise e Developer (via BYOM). Você pode usar os recursos do SQL Server 2022, como recuperação acelerada de banco de dados, processamento inteligente de consultas, desempenho inteligente, melhorias de monitoramento e criações de índices on-line retomáveis. Além disso, o SQL Server 2022 tem suporte nativo para o Amazon S3. Consulte no Amazon RDS Custom for SQL Server 2022 para obter mais detalhes.

Neste post, mostramos como iniciar uma nova instância do RDS Custom for SQL Server 2022 e realizar uma atualização da versão principal do SQL Server 2019 para o SQL Server 2022. Também discutimos alguns dos principais recursos do SQL Server 2022.

Você pode escolher entre duas opções para criar e atualizar sua instância RDS Custom for SQL Server: o AWS Management Console ou o AWS Command Line Interface CLI). Fornecemos instruções para ambas as opções nesta postagem.

Pré-requisitos

Antes de criar e se conectar à sua instância RDS Custom for SQL Server, você precisa configurar alguns pré-requisitos, incluindo uma função do AWS Identity and Access Management (IAM) e VPC, entre outros. Para simplificar a configuração, você pode usar um modelo do AWS CloudFormation para criar uma stack do CloudFormation.

Se você precisar configurar seus pré-requisitos de ambiente com o AWS CloudFormation (recomendado), consulte Configurando seu ambiente para o Amazon RDS Custom for SQL Server.

Inicie o RDS Custom for SQL Server usando o SQL Server 2022

Nesta seção, mostramos como criar uma nova instância RDS Custom for SQL Server 2022 usando o console. Para obter mais detalhes, consulte Criação e conexão com uma instância de banco de dados para Amazon RDS Custom for SQL Server.

Conclua as seguintes etapas:

  1. No console do Amazon RDS, escolha Bancos de dados no painel de navegação.
  2. Escolha Criar banco de dados.
  3. Selecione Criação padrão.
  4. Para Opções de mecanismo, selecione Microsoft SQL Server.
  5. Para o tipo de gerenciamento de banco de dados, selecione Amazon RDS Custom.
  6. Em Edição, selecione sua edição do SQL Server.
  7. Para a versão do mecanismo de banco de dados, escolha a versão mais recente do SQL Server 2022.
  8. Selecione o modelo que será utilizado em seu ambiente.
  9. Para o identificador da instância de banco de dados, insira um nome para sua instância.
  10. Insira seu nome de usuário e senha principais.Como alternativa, você pode selecionar Gerar automaticamente uma senha, disponível por meio do AWS Secrets Manager.
  11. Selecione o tipo de instância de sua preferência. Neste exemplo, usamos uma classe padrão db.m5.xlarge.
  12. Escolha um tipo de armazenamento e atribua valores para armazenamento alocado e IOPS provisionados.
  13. Selecione sua preferência para a implantação do Multi-AZ:
    1. Se você estiver usando o modelo mais recente do CloudFormation, seu ambiente suportará o Multi-AZ for RDS Custom, e você poderá selecionar Criar uma instância em espera.
    2. Se você não tiver certeza, selecione Não criar uma instância em espera. Você pode modificar essa configuração posteriormente.
  14. Em Recurso de computação, selecione Não se conectar a um recurso computacional do EC2.
  15. Escolha a VPC para hospedar seu RDS Custom for SQL Server.
  16. Escolha o grupo de sub-rede de banco de dados apropriado.
  17. Para Acesso público, selecione Não.
  18. Para o grupo de segurança VPC (firewall), selecione Escolher existente e, em seguida, escolha o grupo de segurança correspondente.
  19. Você tem a opção de alterar a porta do banco de dados em Configuração adicional.
  20. Na seção Segurança do RDS Custom, escolha o perfil da instância do IAM criado para o RDS Custom e a chave de criptografia.
  21. Deixe os valores restantes como padrão.
  22. Se seu ambiente atender a todos os pré-requisitos, escolha Estou pronto.
  23. Escolha Criar banco de dados.

Como alternativa, você pode criar uma instância de banco de dados personalizada do RDS usando o comando create-db-instance na AWS CLI:

aws rds create-db-instance \
--db-instance-identifier <<rds-cli-sql-2022-01>> \
--engine custom-sqlserver-ee \
--kms-key-id <<your key id>> \
--engine-version 16.00.4085.2.v1 \
--master-username admin \
--master-user-password <<your password>> \
--db-instance-class db.m5.2xlarge \
--allocated-storage 100 \
--storage-type gp3 \
--backup-retention-period 0 \
--region <<your region>> \
--custom-iam-instance-profile <<RDS Custom IAM Profile>> \
--db-subnet-group <<rdscustom-db-subnet-group>> \
--vpc-security-group-ids <<sg-009999999f99d9f99>>

Depois de criar o RDS Custom for SQL Server, você pode se conectar a ele usando o Session Manager, um recurso do AWS Systems Manager ou um cliente RDP. Para obter instruções, consulte Conecte-se à sua instância do Windows. Certifique-se de que o grupo de segurança da VPC associado à sua instância de banco de dados permita conexões de entrada na porta 3389 para que o TCP habilite conexões RDP.

Você precisa do par de chaves associado à instância para se conectar à instância de banco de dados personalizada via RDP. O RDS Custom cria o key pair para você. O nome do key pair usa o prefixo Do-not-Delete-RDS-Custom-DBInstanceIdentifier. O Secrets Manager armazena sua chave privada como um segredo. Escolha o segredo que tem o mesmo nome do seu Key pair e recupere o valor secreto para decifrar a senha posteriormente.

Para iniciar a instância do banco de dados SQL Server 2022 usando uma versão custom (CEV) no RDS Custom, você precisa preparar um CEV a partir de uma AMI do Windows EC2 da AWS (Amazon Machine Image) por meio de um SQL Server 2022 CU9 (LI) pré-instalado ou por meio de traga sua própria mídia (BYOM). Depois de personalizar as configurações do sistema operacional e do SQL Server, a AMI é salva como uma golden image. Essa golden image é então usada para criar um CEV, que pode ser usado posteriormente para criar novas instâncias do RDS Custom for SQL Server 2022.

Execute uma atualização de versão principal do SQL Server 2019 para o SQL Server 2022

Nesta seção, mostramos como atualizar sua instância usando o console. Conclua as seguintes etapas:

  1. No console do Amazon RDS, escolha Bancos de dados no painel de navegação.
  2. Selecione seu banco de dados e escolha Modificar.
  3. Para a versão do mecanismo de banco de dados, escolha a versão do mecanismo de banco de dados para o SQL Server 2022.
  4. Escolha Continuar.
  5. Leia a mensagem com atenção antes de continuar e revise a seção Resumo das modificações.
  6. Selecione a opção para aplicar imediatamente ou durante a próxima janela de manutenção programada.
  7. Escolha Modificar instância de banco de dados.

Esse processo requer tempo de inatividade porque a atualização encerrará os serviços do SQL Server. Nas configurações Multi-AZ, o processo inicia uma atualização contínua, que começa com a instância secundária e, em seguida, transfere a primária para a instância atualizada, minimizando assim o tempo de inatividade.

Como alternativa, você pode atualizar uma instância do RDS Custom for SQL Server usando o comando modify-db-instance na AWS CLI:

aws rds modify-db-instance \
--db-instance-identifier <<rds-qhog-sql-2019-01>> \
--engine-version <<16.00.4085.2.v1>> \
--allow-major-version-upgrade \
--region <<your region>> \
--apply-immediately

Para realizar uma atualização de versão principal de uma instância de banco de dados CEV existente do SQL Server 2019, primeiro você precisa criar uma golden AMI usando um SQL Server 2022 (LI) ou BYOM pré-instalado. Essa golden AMI é usada para criar um novo CEV e depois modificar a instância de banco de dados CEV existente do SQL Server 2019 especificando –engine-version no CEV recém-criado.

Principais recursos do SQL Server 2022

Nesta seção, discutiremos alguns recursos importantes que você pode explorar no SQL Server 2022 enquanto continua aproveitando as vantagens do RDS Custom.

Backup nativo para o Amazon S3 e integração com o armazenamento de objetos do S3

Com o SQL Server 2022, o recurso de backup em URL agora oferece suporte ao armazenamento de objetos compatível com o Amazon S3. A compatibilidade com o Amazon S3 significa que a solução de armazenamento usa a API do Amazon S3 para fornecer uma interface compatível com o Amazon S3. Você pode usar o recurso Backup para URL utilizando o armazenamento de objetos compatível com o Amazon S3 como seu destino de backup. Isso permite que você armazene seus backups do SQL Server em uma interface compatível com o Amazon S3, fornecendo uma solução de armazenamento escalável e durável.

Esse recurso oferece os seguintes benefícios:

  • Armazenamento econômico — O Amazon S3 oferece uma opção econômica para armazenar backups, porque você paga somente pelo armazenamento que usa.
  • Escalabilidade — Você pode escalar seu armazenamento de backup com facilidade usando a escalabilidade do armazenamento Amazon S3.
  • Durabilidade — O Amazon S3 oferece alta durabilidade, garantindo que os backups sejam protegidos contra perda de dados. Ele replica dados em várias zonas de disponibilidade, oferecendo uma solução confiável de armazenamento de backup.
  • Integração com fluxos de trabalho existentes — Você pode integrar perfeitamente o recurso de backup para URL com seus fluxos de trabalho de backup e restauração existentes para realizar backups e restaurações de e para o armazenamento de objetos compatível com o Amazon S3.

Melhorias no desempenho do TempDB

No SQL Server 2022, vários problemas relacionados ao TempDB foram abordados para melhorar seu desempenho e escalabilidade. A seguir estão as principais melhorias:

  • Atualizações simultâneas do GAM e do SGAM — O SQL Server 2022 introduziu atualizações simultâneas nas páginas Mapa de Alocação Global (GAM) e Mapa de Alocação Global Compartilhado (SGAM) no TempDB. Isso permite que segmentos paralelos modifiquem essas páginas simultaneamente, reduzindo a contenção e melhorando a produtividade.
  • Contenção de metadados — O SQL Server 2022 melhorou o tratamento da contenção de metadados no TempDB. As versões anteriores introduziram o cache de tabelas temporárias e as tabelas de metadados TempDB otimizadas para memória para reduzir a contenção de metadados. O SQL Server 2022 aprimora ainda mais esses recursos para minimizar a contenção e melhorar o desempenho.
  • Contenção de alocação de objetos — A prática recomendada de ter vários arquivos de dados do mesmo tamanho para que o TempDB distribua a alocação de objetos entre arquivos permanece relevante no SQL Server 2022. No entanto, com as melhorias nas atualizações simultâneas do GAM e do SGAM, o impacto da contenção pela alocação de objetos é reduzido significativamente.

Proteção de dados aprimorada com o SQL Server Ledger

O RDS Custom for SQL Server 2022 oferece suporte a bancos de dados ledger. O SQL Server Ledger fornece recursos de auditoria e proteção de dados invioláveis para bancos de dados relacionais. Ele permite que as organizações rastreiem e monitorem as alterações feitas em seus dados, garantindo a integridade dos dados e a conformidade com os requisitos regulamentares.

O recurso ledger inclui os seguintes benefícios principais:

  • Registros invioláveis — O recurso ledger cria um registro inviolável de todas as alterações de dados, dificultando que usuários não autorizados modifiquem ou manipulem dados sem serem detectados.
  • Auditoria e rastreamento — Com o recurso ledger, as organizações podem rastrear e auditar facilmente todas as alterações feitas no banco de dados. Isso pode ser útil para fins de conformidade ou para investigar atividades suspeitas.
  • Proteção contra ameaças internas — O recurso ledger aprimora a segurança ao fornecer um registro transparente e verificável de todas as modificações de dados, impedindo o acesso não autorizado ou atividades maliciosas de pessoas confiáveis.
  • Integração com medidas de segurança existentes — Você pode integrar perfeitamente o ledger às medidas de segurança existentes no SQL Server, como criptografia, controles de acesso e mascaramento de dados, para fornecer uma solução de segurança abrangente para bancos de dados relacionais.

Concorrência assíncrona de estatísticas de atualização automática

No RDS Custom for SQL Server 2022, você pode evitar possíveis problemas de simultaneidade usando uma atualização de estatística assíncrona se habilitar a configuração com escopo de banco de dados ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY.

Análise e manipulação de dados de séries temporais

Os dados de séries temporais são um conjunto de valores organizados em ordem cronológica e são comumente usados para comparações históricas, detecção de anomalias, análise preditiva e relatórios. O SQL Server 2022 introduziu recursos de séries temporais, incluindo aprimoramentos nas funções T-SQL existentes e a adição de duas novas funções. O operador relacional GENERATE_SERIES simplifica a criação de uma tabela de números para gerar valores contíguos de data e hora. A função DATE_BUCKET ajuda a agrupar dados de séries temporais em intervalos fixos ou compartimentos. Além disso, as funções FIRST_VALUE e LAST_VALUE agora oferecem uma nova sintaxe para lidar com valores NULL na análise de séries temporais.

Conclusão

Neste post, fornecemos um guia passo a passo sobre como iniciar o SQL Server 2022 e realizar uma atualização de versão principal de uma instância do RDS Custom for SQL Server usando o console do Amazon RDS e os comandos da AWS CLI. Também fornecemos uma visão geral de alguns dos novos e empolgantes recursos do SQL Server 2022 que podem ser explorados no RDS Custom for SQL Server. Uma versão principal do mecanismo de banco de dados, como o SQL Server 2022, traz mudanças significativas. É altamente recomendável testar as cargas de trabalho do banco de dados em ambientes de testes antes de atualizar para essa nova versão do mecanismo de banco de dados . Deixe um comentário se tiver alguma dúvida.

Para saber mais sobre onde ou quando usar o RDS Custom, confira Trabalhando com o RDS Custom for SQL Server.

Este blog em português é uma tradução do blog original em inglês.

Autores

Jose A. Ramirez é administrador de banco de dados, amante de animais de estimação e arquiteto de soluções especializado em banco de dados na AWS, com mais de 25 anos de experiência no setor de tecnologia, desde manufatura, indústria farmacêutica até startups. Ele agora se concentra na arquitetura de soluções para clientes que desejam modernizar seus aplicativos e bancos de dados na nuvem.

 

 

Kalyan Banala é um talentoso engenheiro de banco de dados e trabalha com a equipe Amazon RDS Custom for SQL Server na AWS. Ele gosta de trabalhar em desafios técnicos e é apaixonado por aprender e compartilhar conhecimento com seus colegas de equipe e clientes da AWS.

 

 

Tradutores e Revisores

Luiz Rampanelli é um Solutions Architect no time da AWS Latam. Possui mais de 10 anos de experiência com workloads Microsoft em nuvem e ambientes híbridos. Atua com desenho de soluções seguindo as melhores práticas para que os clientes possam aproveitar ao máximo os benefícios da nuvem da AWS.
Hermes Cerelli é um Technical Account Manager sênior, especialista em sistemas operacionais Microsoft, Diretórios e redes. Hermes atua apoiando clientes do Enterprise Support na implementação de soluções AWS, revisão de custos, arquitetura e escalação de casos técnicos. Gosta de viajar pelo mundo com a família, jogar tênis, ler e brincar com as filhas.