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

10 minuto de leitura
0

Quero fazer upgrade ou downgrade da edição do mecanismo do SQL Server no Amazon Relational Database Service (RDS) para SQL Server. Como faço isso?

Breve descrição

O Amazon RDS for SQL Server é compatível com as edições Express, Web, Standard e Enterprise. Você não pode fazer uma alteração na edição do SQL Server como uma modificação no local usando o console do RDS ou a AWS Command Line Interface (AWS CLI).

Para fazer upgrade da sua edição do SQL Server, crie um snapshot e restaure usando a edição de mecanismo superior. Para fazer downgrade, use um destes métodos:

  • Use a opção de backup e restauração nativos no RDS para SQL Server.
  • Use o AWS Database Migration Service (AWS DMS).
  • Importe e exporte dados do SQL Server usando outras ferramentas.

Resolução

Fazer upgrade da edição do mecanismo do SQL Server

Para fazer upgrade da edição do mecanismo do SQL Server, crie um snapshot do RDS e restaure a partir dele. Para ver as limitações de upgrade, consulte Considerações sobre o Microsoft SQL Server.

Para fazer upgrade usando um snapshot, siga estas etapas:

1.    Crie um snapshot da instância original do RDS para SQL Server.

2.    Restaure o snapshot obtido na Etapa 1 para criar uma nova instância do RDS. Altere a edição necessária para a edição superior durante a restauração.

3.    Renomeie ou exclua a instância original do RDS for SQL Server para liberar o nome do endpoint de DNS para reutilização. Para obter mais informações, consulte a seção Renomear a instância do RDS.

Para obter instruções detalhadas e etapas sobre o upgrade da 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 esses upgrades:

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

Observação importante: a restauração de snapshots durante o upgrade da edição cria uma nova instância do RDS para SQL Server. Essa nova instância tem um endpoint do RDS diferente daquele da instância de origem do snapshot.

Fazer downgrade da edição do SQL Server

Não há suporte para o downgrade no local da instância do RDS para SQL Server de uma edição superior devido a limitações do SQL Server como produto. No entanto, você pode fazer downgrade da edição do RDS para SQL Server em qualquer uma destas combinações, seguindo as opções de solução alternativa mencionadas mais adiante:

  • 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 downgrade da edição do RDS para SQL Server, use uma destas opções:

Opção 1: usar a opção de backup e restauração nativos no RDS para SQL Server

Observação: você também pode usar essa opção para mover bancos de dados de edições inferiores para superiores de instâncias do RDS.

O backup e a restauração nativos criam um backup completo dos bancos de dados na instância existente do RDS para SQL Server de origem. Armazene os backups no Amazon Simple Storage Service (Amazon S3) e, em seguida, restaure os arquivos de backup em uma nova instância do RDS de destino.

Para fazer downgrade de uma instância Enterprise de origem para uma instância Standard de destino, siga estas etapas:

1.    Crie um novo RDS para SQL Server com a edição Standard do SQL Server. Esta é a nova instância de destino.

2.    Adicione a opção de backup e restauração nativos nas instâncias Enterprise de origem e Standard de destino.

3.    Faça backup de cada banco de dados de usuário na instância de origem (Enterprise) em um bucket do S3.

4.    Execute a consulta sys.dm_dm_persisted_sku-features (Transact-SQL) em cada banco de dados na instância de origem. Essa consulta verifica se há algum recurso atualmente em uso vinculado à edição superior. Os recursos vinculados à edição superior podem não funcionar quando você restaurar os bancos de dados na instância de destino da edição inferior.

USE [database-name]
    GO
    SELECT feature_name FROM sys.dm_db_persisted_sku_features;
    GO

5.    Restaure os backups do bucket do S3 para a instância RDS de destino (Standard).

6.    Certifique-se de criar os logins e os usuários necessários nos bancos de dados de instâncias do RDS de destino. Crie também o grupo de segurança apropriado e anexe os grupos de opções de parâmetros apropriados. Eles são os mesmos da instância do RDS de origem.

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

Opção 2: usar o AWS DMS

Observação: você também pode usar essa opção para mover bancos de dados de edições inferiores para superiores de instâncias do RDS.

Use o AWS DMS para migrar seus bancos de dados. O AWS DMS também replica as alterações contínuas da instância de edição superior (o endpoint de origem) para a instância de edição inferior (o endpoint de destino).

O AWS DMS permite a replicação unidirecional, carrega tabelas em massa e captura alterações de dados (se compatíveis pelo RDS de origem e de destino para versões de instâncias do SQL Server).

Para obter mais informações, consulte estes tópicos:

Opção 3: importar e exportar dados do SQL Server usando outras ferramentas

Você pode usar essas ferramentas adicionais para importar e exportar seu banco de dados:

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

A instância com a edição inferior do SQL Server deve ser criada e estar ativa antes de você usar essas ferramentas.

Lembre-se de que essas ferramentas exigem mais esforço do que o backup e a restauração nativos ou o AWS DMS. Você pode se deparar com vários erros de consistência ou integridade de dados que devem ser corrigidos. Esses erros ocorrem ao mover dados usando essas ferramentas. Teste minuciosamente o processo em um ambiente de teste antes de optar por usar uma dessas ferramentas.

  • Assistente de importação e exportação do SQL Server: copie e crie o esquema dos bancos de dados e do objeto da instância de origem na instância de destino. Em seguida, use esse assistente para copiar uma ou mais tabelas, visualizações ou consultas de uma instância de banco de dados do RDS para SQL Server para outro armazenamento de dados. Para obter mais informações, consulte Assistente de importação e exportação do SQL Server.
  • Assistente para gerar e publicar scripts do SQL Server e utilitário bcp: use o Assistente para gerar e publicar scripts do SQL Server para criar scripts para um banco de dados inteiro ou objetos selecionados. Você pode executar esses scripts em uma instância de banco de dados do SQL Server de destino para recriar os objetos com script. Em seguida, use o utilitário bcp para exportar em massa 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. Para obter mais informações, consulte Assistente para gerar e publicar scripts do SQL Server e utilitário bcp.

Observação: todas as opções mencionadas nesta seção também podem ser usadas para migrar bancos de dados da edição inferior para a edição superior do RDS para SQL Server. No entanto, a abordagem explicada na seção Fazer upgrade da edição do SQL Server é mais simples. A decisão de qual opção usar depende de fatores como tempo de inatividade, esforço e complexidade envolvida, entre outros.

Renomear a instância do RDS

As opções descritas para fazer upgrade ou downgrade da edição do RDS para SQL Server sempre resultam na criação de uma nova instância do RDS de destino. A nova instância do RDS tem um endpoint de DNS do RDS diferente da instância do RDS de origem existente.

Às vezes, fazer upgrade do novo endpoint do RDS entre aplicações e outros serviços faz com que a atualização da string de conexão seja perdida em um ou mais desses componentes. Quando isso ocorre, você pode ter problemas após a alteração da edição da instância do RDS para SQL Server.

Para evitar isso, considere renomear as instâncias do RDS de origem e de destino. Essa renomeação garante que a instância da edição de destino tenha o mesmo endpoint de DNS do RDS que o da instância original da edição de origem.

Isso evita fazer alterações nas strings de conexão das aplicações ou dis serviços dependentes após a alteração da edição na instância do RDS para SQL Server.

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

Este exemplo pressupõe que a instância do RDS de origem seja rds-original com a edição Enterprise. A instância de destino é rds-new com a edição Standard.

1.    Pare todo o tráfego de entrada (interrompa a aplicação) para a instância de origem rds-original.

2.    Siga qualquer uma das etapas ou opções anteriores para fazer upgrade ou downgrade da edição do SQL Server na instância do RDS. Depois que a edição for alterada com êxito, haverá duas instâncias: a instância de origem é rds-original e a instância de destino é rds-new.

3.    Modifique a instância de origem para renomear o identificador 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 o identificador de banco de dados da instância de destino de rds-new para o nome da instância original, rds-original.

5.    Verifique se as instâncias foram renomeadas para rds-original-old e rds-original e se estão no estado Disponível.

6.    Certifique-se de manter os grupos de segurança do RDS relacionados que estão anexados à instância do RDS de destino da nova edição iguais aos da instância de origem. Isso garante que a conectividade de rede das aplicações existentes permaneça a mesma.

7.    Agora, permita o tráfego de entrada (aplicação inicial) para a instância rds-original que tem a edição necessária do SQL Server. Nenhuma alteração é necessária para as strings de conexão da aplicação, pois o RDS tem o mesmo endpoint de DNS da instância de origem.

8.    Execute o teste da aplicação para garantir que não haja impacto após a alteração da edição da instância do RDS.

9.    Se tudo funcionar, crie um snapshot final da instância rds-original-old e exclua essa instância para economizar custos.

Observação: é uma prática recomendada testar as atividades primeiro em um ambiente inferior antes de implementá-las no ambiente de produção. Isso fornece uma estimativa de quanto tempo as alterações demoram para entrar em vigor. Além disso, você pode identificar qualquer problema que ocorra durante a atividade para ajudar a tornar a implementação no ambiente de produção mais suave.


Informações relacionadas

Orientação prescritiva da AWS: avaliação do downgrade do Microsoft SQL Server da edição Enterprise para a edição Standard na AWS