Atualizar o mecanismo de banco de dados Microsoft SQL Server - Amazon Relational Database Service

Atualizar o mecanismo de banco de dados Microsoft SQL Server

Quando o Amazon RDS oferece suporte a uma nova versão de um mecanismo de banco de dados, você pode atualizar suas instâncias de banco de dados para essa nova versão. Há dois tipos de atualizações para instâncias de banco de dados SQL Server: atualizações de versão principal e atualizações de versão secundária.

As atualizações da versão principal podem conter as alterações de banco de dados incompatíveis com os aplicativos existentes. Como resultado, você deve realizar manualmente as atualizações de versões principais das suas instâncias de banco de dados. Você pode iniciar uma atualização de versão principal modificando manualmente sua instância de banco de dados. No entanto, antes de realizar uma atualização de versão principal, recomendamos que você teste a atualização seguindo as etapas descritas em Testar uma atualização.

Por outro lado, atualizações de versões secundárias incluem apenas alterações compatíveis com versões anteriores dos aplicativos existentes. Você pode iniciar uma atualização de versão secundária manualmente modificando sua instância de banco de dados.

No exemplo a seguir, o comando da CLI retorna uma resposta mostrando que AutoUpgrade é verdadeiro, indicando que as atualizações são automáticas.

... "ValidUpgradeTarget": [ { "Engine": "sqlserver-se", "EngineVersion": "14.00.3281.6.v1", "Description": "SQL Server 2017 14.00.3281.6.v1", "AutoUpgrade": true, "IsMajorVersionUpgrade": false } ...

Para ter mais informações sobre como executar atualizações, consulte Atualizar de uma instância de banco de dados SQL Server. Para obter informações sobre quais versões do SQL Server estão disponíveis no Amazon RDS, consulte Amazon RDS para Microsoft SQL Server.

Visão geral da atualização

O Amazon RDS usa dois snapshot de banco de dadoss durante o processo de atualização. O primeiro snapshot de banco de dados é da instância de banco de dados antes de qualquer alteração de upgrade ter sido feita. O segundo snapshot de banco de dados é capturado após a conclusão do upgrade.

nota

O Amazon RDS só tirará snapshot de banco de dadoss se você tiver definido o período de retenção de backup para sua instância de banco de dados como um número maior que 0. Para alterar o período de retenção de backup, consulte Modificar uma instância de banco de dados do Amazon RDS.

Após a conclusão de um upgrade, não será possível reverter para a versão anterior do mecanismo de banco de dados. Se desejar retornar à versão anterior, restaure o snapshot do banco de dados que foi tirado antes do upgrade para criar uma nova instância de banco de dados.

Durante uma atualização de versão secundária ou principal do SQL Server, as métricas Free Storage Space (Espaço de armazenamento gratuito) e Disk Queue Depth (Profundidade da fila do disco) exibirão -1. Após a conclusão da atualização, ambas as métricas voltarão ao normal.

Atualizações de versão principal

Atualmente, o Amazon RDS oferece suporte para as seguintes atualizações de versão principais para uma instância de banco de dados do Microsoft SQL Server.

Atualize sua instância de banco de dados existente para o SQL Server 2017 ou 2019 a partir de qualquer versão, exceto SQL Server 2008. Para atualizar do SQL Server 2008, primeiro atualize para outra versão.

Versão atual Versões de upgrade com suporte

SQL Server 2019

SQL Server 2022

SQL Server 2017

SQL Server 2022

SQL Server 2019

SQL Server 2016

SQL Server 2022

SQL Server 2019

SQL Server 2017

É possível usar uma consulta da AWS CLI, como o exemplo a seguir, para localizar as atualizações disponíveis para uma versão específica do mecanismo de banco de dados.

Para Linux, macOS ou Unix:

aws rds describe-db-engine-versions \ --engine sqlserver-se \ --engine-version 14.00.3281.6.v1 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" \ --output table

Para Windows:

aws rds describe-db-engine-versions ^ --engine sqlserver-se ^ --engine-version 14.00.3281.6.v1 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" ^ --output table

A saída mostra que é possível atualizar a versão 14.00.3281.6 para as versões mais recentes do SQL Server 2017 ou 2019.

-------------------------- |DescribeDBEngineVersions| +------------------------+ | EngineVersion | +------------------------+ | 14.00.3294.2.v1 | | 14.00.3356.20.v1 | | 14.00.3381.3.v1 | | 14.00.3401.7.v1 | | 14.00.3421.10.v1 | | 14.00.3451.2.v1 | | 15.00.4043.16.v1 | | 15.00.4073.23.v1 | | 15.00.4153.1.v1 | | 15.00.4198.2.v1 | | 15.00.4236.7.v1 | +------------------------+

Nível de compatibilidade do banco de dados

Você pode usar os níveis de compatibilidade do banco de dados Microsoft SQL Server para ajustar alguns comportamentos de banco de dados de forma a imitar as versões anteriores do SQL Server. Para ter mais informações, consulte Nível de compatibilidade na documentação da Microsoft. Quando você atualiza sua instância de banco de dados, todos os bancos de dados existentes permanecem em seus níveis de compatibilidade originais.

Você pode alterar o nível de compatibilidade de um banco de dados usando o comando ALTER DATABASE. Por exemplo, para alterar um banco de dados denominado customeracct para que ele seja compatível com o SQL Server 2016, emita o seguinte comando:

ALTER DATABASE customeracct SET COMPATIBILITY_LEVEL = 130

Considerações sobre otimização Multi-AZ e na memória

O Amazon RDS oferece suporte a implantações Multi-AZ para instâncias de bancos de dados que executem o Microsoft SQL Server usando o SQL Server Database Mirroring (DBM) ou Grupos de disponibilidade AlwaysOn. Para ter mais informações, consulte Implantações multi-AZ para o Amazon RDS for Microsoft SQL Server.

Se a sua instância de banco de dados estiver em uma implantação Multi-AZ, as instâncias principal e em espera serão atualizadas. O Amazon RDS faz atualizações contínuas. Você tem uma interrupção somente pela duração de um failover.

O SQL Server 2016 a 2019 Enterprise Edition é compatível com otimização na memória.

Considerações sobre réplicas de leitura

Durante uma atualização da versão do banco de dados, o Amazon RDS atualiza todas as réplicas de leitura, bem como a instância de banco de dados primária. O Amazon RDS não é compatível com atualizações de versões de banco de dados nas réplicas de leitura separadamente. Para ter mais informações sobre réplicas de leitura, consulte Trabalhar com réplicas de leitura do Microsoft SQL Server no Amazon RDS.

Ao fazer uma atualização da versão do banco de dados da instância de banco de dados primária, todas as réplicas de leitura também são atualizadas automaticamente. O Amazon RDS vai atualizar todas as réplicas de leitura simultaneamente antes de atualizar a instância de banco de dados primária. As réplicas de leitura podem não estar disponíveis até que a atualização da versão do banco de dados na instância de banco de dados primária seja concluída.

Considerações de grupos de opções

Se a sua instância de banco de dados usar um grupo de opções de banco de dados personalizado, em alguns casos, o Amazon RDS não poderá atribuir automaticamente à instância um novo grupo de opções. Por exemplo, ao atualizar para uma nova versão principal, você deve especificar um novo grupo de opções. Recomendamos que você crie um novo grupo de opções e adicione as mesmas opções a ele que o seu grupo de opções personalizadas existente.

Para ter mais informações, consulte Criar um grupo de opções ou Copiar um grupo de opções.

Considerações de grupos de parâmetros

Se sua instância de banco de dados usa um grupo de parâmetros de banco de dados personalizado:

  • O Amazon RDS reinicializa automaticamente a instância de banco de dados após uma atualização.

  • Em alguns casos, o RDS não pode atribuir automaticamente um novo grupo de parâmetros à sua instância de banco de dados.

    Por exemplo, ao atualizar para uma nova versão principal, você deve especificar um novo grupo de parâmetros. Recomendamos que você crie um novo parameter group e configure os parâmetros como no seu parameter group personalizado existente.

Para ter mais informações, consulte Criar um grupo de parâmetros de banco de dados no Amazon RDS ou Copiar um grupo de parâmetros de banco de dados no Amazon RDS.

Testar uma atualização

Antes de executar um upgrade de versão principal na sua instância de banco de dados, você deve testar completamente seu banco de dados e todos os aplicativos que o acessam para verificar a compatibilidade com a nova versão. Recomendamos que você use o procedimento a seguir.

Para testar um upgrade de versão principal
  1. Examine a Atualização do SQL Server na documentação da Microsoft para a nova versão do mecanismo de banco de dados para ver se existem problemas de compatibilidade que podem afetar o banco de dados as aplicações.

  2. Se a sua instância de banco de dados usar um grupo de opções personalizado, crie um novo grupo de opções compatível com a nova versão para a qual você está atualizando. Para ter mais informações, consulte Considerações de grupos de opções.

  3. Se a sua instância de banco de dados usar um parameter group personalizado, crie um novo parameter group compatível com a nova versão para a qual você está atualizando. Para ter mais informações, consulte Considerações de grupos de parâmetros.

  4. Crie um snapshot de banco de dados da instância de banco de dados a ser atualizada. Para ter mais informações, consulte Criar um snapshot de banco de dados para uma instância de banco de dados de uma única zona de disponibilidade.

  5. Restaure o snapshot de banco de dados para criar uma nova instância de banco de dados de teste. Para ter mais informações, consulte Restaurar uma instância de banco de dados.

  6. Modifique essa nova instância de banco de dados de teste para atualizá-la para a nova versão, usando um dos seguintes métodos:

  7. Avalie o armazenamento usado pela instância atualizada para determinar se o upgrade requer armazenamento adicional.

  8. Execute quantos testes de garantia de qualidade na instância de banco de dados atualizada forem necessários para garantir que o seu banco de dados e o seu aplicativo funcionem corretamente com a nova versão. Implemente os novos testes necessários para avaliar o impacto de problemas de compatibilidade que você identificou na etapa 1. Teste todos os procedimentos armazenados e funções. Direcione versões de teste dos seus aplicativos à instância de banco de dados atualizada.

  9. Se todos os testes forem aprovados, realize o upgrade na sua instância de banco de dados de produção. Recomendamos que você não permita operações de gravação na instância de banco de dados até confirmar que tudo está funcionando corretamente.

Atualizar de uma instância de banco de dados SQL Server

Para obter informações sobre como atualizar manual ou automaticamente uma instância de banco de dados do SQL Server, consulte o seguinte:

Importante

Se você tiver algum snapshot criptografado usando o AWS KMS, recomendamos iniciar um upgrade antes do fim do suporte.

Fazer upgrade de instâncias de banco de dados defasadas antes do fim do suporte

Depois que uma versão principal é defasada, não é possível instalá-la em novas instâncias de banco de dados. O RDS tentará fazer o upgrade automático de todas as instâncias de banco de dados existentes.

Se você precisar restaurar uma instância de banco de dados defasada, poderá fazer uma Point-In-Time Recovery (PITR – Recuperação de ponto no tempo) ou restaurar um snapshot. Isso permite o acesso temporário a uma instância de banco de dados que usa a versão que está sendo preterida. No entanto, depois que uma versão principal for totalmente preterida, essas instâncias de banco de dados também serão automaticamente atualizadas para uma versão com suporte.