Como faço para atualizar ou fazer o downgrade da edição do mecanismo do SQL Server no RDS para SQL Server?

8 minuto de leitura
0

Quero atualizar ou fazer o downgrade da edição do mecanismo do SQL Server no Amazon Relational Database Service (Amazon RDS) para Microsoft SQL Server.

Breve descrição

O Amazon RDS para SQL Server oferece suporte às edições Express, Web, Standard e Enterprise. Não é possível usar o console do Amazon RDS ou a AWS Command Line Interface (AWS CLI) para realizar uma alteração na edição do SQL Server como uma modificação no local.

Resolução

Observação: se você receber erros ao executar comandos da AWS CLI, consulte Solucionar erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Atualize a edição do mecanismo do SQL Server

Crie um snapshot do RDS da sua instância existente do RDS para SQL Server e, em seguida, restaure uma nova instância do RDS a partir do snapshot. Para limitações de atualização, consulte as considerações sobre o Microsoft SQL Server.

Conclua as seguintes etapas:

  1. Crie um snapshot da instância original do RDS para SQL Server.
  2. Restaure o snapshot para criar uma nova instância do RDS. Ao restaurar a instância, selecione uma edição posterior do banco de dados.
  3. Renomeie ou exclua a instância original do RDS para SQL Server para que você possa reutilizar o nome do endpoint DNS. Para obter mais informações, consulte a seção Renomear a instância do RDS deste artigo.

Para atualizar a edição Standard para a edição Enterprise, consulte Modificar uma instância do Amazon RDS para SQL Server da edição Standard para a Enterprise.

Você pode usar o mesmo método de snapshot e restauração para os seguintes tipos de atualização:

  • Edição Standard para edição Enterprise
  • Edição Web para edição Standard ou edição Enterprise
  • Edição Express para edição Web, edição Standard ou edição Enterprise

Observação: Quando você está atualizando a edição, a restauração de snapshots cria uma nova instância do RDS para SQL Server. A nova instância tem um endpoint RDS diferente da instância de origem do snapshot.

Regredir a edição do SQL Server

Não há suporte para um downgrade local de uma instância do RDS para SQL Server de edições posteriores para anteriores. No entanto, é possível concluir qualquer um dos seguintes tipos de downgrades:

  • Edição Enterprise para edição Standard, Web ou Express
  • Edição Standard para edição Web ou Express
  • Edição Web para edição Express

Para fazer o downgrade de sua edição do RDS para SQL Server, use a opção nativa de backup e restauração, o AWS Database Migration Service (AWS DMS) ou outras ferramentas. Escolha uma opção de downgrade com base em fatores como tempo de inatividade, esforço e complexidade do seu caso de uso.

Opção nativa de backup e restauração no RDS para SQL Server

O backup e a restauração nativos criam um backup completo dos bancos de dados na instância existente do RDS de origem para SQL Server.

Para fazer o downgrade de uma instância corporativa de origem para uma instância básica de destino, conclua as seguintes etapas:

  1. Crie uma nova instância de banco de dados RDS para SQL Server com a edição Standard.
  2. Adicione a opção nativa de backup e restauração nas instâncias da edição Enterprise e Standard de destino.
  3. Faça backup de cada banco de dados de usuário na instância corporativa de origem em um bucket do Amazon Simple Storage Service (Amazon S3).
  4. Execute a consulta sys.dm_dm_persisted_sku-features em cada banco de dados na instância corporativa de origem:
    USE database-name
        GO
        SELECT feature_name FROM sys.dm_db_persisted_sku_features;
        GO
    Observação: Substitua database-name pelo nome do seu banco de dados.
    A consulta anterior verifica se algum recurso está atualmente conectado à edição posterior. Os recursos conectados à edição posterior podem não funcionar quando você restaura os bancos de dados na instância de destino da edição anterior. Para obter mais informações, consulte sys.dm_db_persisted_sku_features (Transact-SQL) no site da Microsoft.
  5. Restaure os backups do bucket do Amazon S3 para a instância básica de destino.
  6. Crie os logins e usuários necessários nos bancos de dados da instância básica de destino. Além disso, crie o grupo de segurança apropriado e anexe os grupos de opções de parâmetros apropriados.

Observação: Você pode usar as etapas anteriores para exportar e importar bancos de dados em qualquer edição do SQL Server no RDS.

AWS DMS

O AWS DMS replica as mudanças contínuas da instância da edição posterior para a instância da edição anterior. O AWS DMS permite replicação unidirecional e tabelas de carregamento em massa, além de capturar alterações de dados suportadas.

Para obter mais informações, consulte a seguinte documentação da AWS:

Outras ferramentas para importar e exportar dados do SQL Server

Você também pode usar as seguintes ferramentas para importar e exportar seu banco de dados:

  • Assistente de importação e exportação do SQL Server
  • Assistente de geração e publicação de scripts
  • Cópia em massa (utilitário bcp)

Observação: Antes de usar qualquer uma das ferramentas anteriores, você deve executar a instância com a edição anterior do SQL Server.

Quando você usa as ferramentas para mover dados, podem ocorrer vários problemas de consistência ou integridade de dados que você deve resolver. Antes de usar uma das ferramentas, teste minuciosamente o processo em um ambiente de teste.

Para o Assistente de Importação e Exportação do SQL Server, crie e copie o esquema dos bancos de dados e objetos da instância de origem na instância de destino. Em seguida, use o Assistente para copiar tabelas, visualizações ou consultas de uma instância de banco de dados do RDS para SQL Server para outro armazenamento de dados.

Para o Assistente de Geração e Publicação de Scripts do SQL Server e o utilitário bcp, use o Assistente para criar scripts para um banco de dados inteiro ou objetos selecionados. Você pode executar os scripts em uma instância de banco de dados SQL Server de destino para recriar os objetos com script. Em seguida, use o atributo de cópia em massa para exportar os dados dos objetos selecionados para a instância de banco de dados de destino. Execute o utilitário bcp a partir de uma instância do Amazon Elastic Compute Cloud (Amazon EC2) que tenha conectividade com as instâncias do RDS de origem e de destino.

Renomeie a instância do RDS

Todas as opções anteriores resultam na criação de uma nova instância de destino do RDS. A nova instância do RDS tem um endpoint DNS do RDS diferente da instância do RDS de origem existente.

Às vezes, quando você atualiza o novo endpoint do RDS em aplicações e serviços, a atualização da string de conexão é perdida em um componente e resulta em erros.

Para evitar esse problema, é uma prática recomendada renomear as instâncias do RDS de origem e de destino. Quando você renomeia as instâncias, a instância da edição de destino tem o mesmo endpoint DNS do RDS da instância original da edição de origem. Portanto, você não precisa alterar as strings de conexão das aplicações ou serviços dependentes depois de alterar a edição.

Para renomear as instâncias do RDS de origem e de destino depois de alterar a edição, conclua as seguintes etapas:

Observação: No procedimento de exemplo a seguir, a instância do RDS de origem é rds-original com a edição Enterprise e a instância de destino é rds-new com a edição Standard.

  1. Interrompa todo o tráfego de entrada para a instância de origem rds-original.
  2. Atualize ou rebaixe a edição do SQL Server na instância do RDS.
    Observação: Depois de atualizar ou fazer o downgrade, a instância de origem é rds-original e a instância de destino é rds-new.
  3. Modifique a instância de origem para renomear a instância de banco de dados de rds-original para um nome diferente, como rds-original-old.
  4. Depois que a instância rds-original-old estiver no estado Disponível, renomeie a instância de banco de dados de destino de rds-new para o nome original da instância de origem, rds-original.
  5. Confirme se as instâncias foram renomeadas para rds-original-old e rds-original e se estão no estado Disponível.
  6. Mantenha os novos grupos de segurança da instância do RDS de destino iguais aos da instância de origem para manter a conectividade de rede das aplicações existentes.
  7. Permita o tráfego de entrada para a instância rds-original que tem a edição necessária do SQL Server. Você não precisa alterar as strings de conexão da aplicação porque o RDS tem o mesmo endpoint DNS da instância de origem.
  8. Execute o teste da aplicação para garantir que a alteração da edição da instância do RDS não cause erros.
  9. Se não houver erros, crie um snapshot final da instância rds-original-old e exclua a instância para reduzir custos.

Observação: Antes de implementar mudanças no ambiente de produção, é uma prática recomendada testar atividades em um ambiente de teste.

Informações relacionadas

Recomendações da AWS — Avalie o downgrade do Microsoft SQL Server da edição Enterprise para a edição Standard na AWS