Atualização do SQL Server

Sabemos que todos os softwares estão sempre em continua evolução, sejam elas alteração da versão anterior instalada, melhorias de usabilidade, correção de falhas internas, melhora na confiabilidade, brechas de segurança além de novas funcionalidades.

Um Sistema de Gerenciamento de Banco de Dados(SGDB) é um dos sistema de software que mais sofre ataque de pessoas mal intencionadas. Nos dias de hoje existem diversos tipos de vírus tais como malwares, Ransomware dentre uma lista que a cada dia só faz crescer.

Para manter seu Banco de Dados com o maior nível de segurança possível é uma prática recomendada aplicar a atualização regular ao SQL Server com o service pack (SP) ou os pacotes cumulativos (CU) mais conhecido como cumulative update.

Este Artigo irei descrever uma visão geral rápida das atualizações do SQL Server.

Quais são esses pacotes de atualização ?

• Service Pack: um service pack contém um único pacote de hotfixes e atualizações lançados anteriormente

• Cumulative Update (CU): os pacotes cumulativos (CU) são o hotfix, pequenas melhorias de recursos

• Versão de distribuição geral (GDR): a Microsoft lança a versão GDR, e está especialmente relacionada à segurança do SQL Server

Até o SQL Server 2016, a Microsoft lança service packs regulares e atualizações cumulativas. Por exemplo, nas versões do SQL Server 2016, você vê as seguintes sequências.

• Versão RTM

• Atualizações cumulativas (CU1 a CU9)

• Service Pack 1

• Pacotes cumulativos (CU1 a CU15)

• Service Pack 2

A partir do SQL Server 2017, a Microsoft muda seu modelo de serviço. Ele não fornece mais os service packs. Em vez disso, ele lança os Pacotes Cumulativos a cada 2 meses. Cada CU contém também o pacote cumulativo anterior. Por exemplo, no SQL Server 2019, a Microsoft lançou o mais recente CU14 em Novembro de 2021.

Portanto, se você está na versão RTM, você pode aplicar diretamente a CU14 para estar na mais recente versão de compilação.

O comando abaixo mostra qual versão o seu SQL Server esta:

select @@version

Abaixo segue um exemplo de resultado em um ambiente que ainda não recebeu nenhum tipo de atualização.

Um site que eu sempre recomendo para a pesquisa quais as atualizações estão disponíveis para a sua versão do SQL Server seria o https://sqlserverbuilds.blogspot.com/

Neste site conseguimos ver as atualizações disponíveis sejam ela Service Pack ou Cumulative Update lembrando que SP(Service Pack) somente até a versão 2016.

No site SQL SERVER BUILDS temos um link direto para o download do pacote de atualização.

Há uma diferença no processo de patching entre ambientes Single Instance, failover cluster e o Grupo de Alta Disponibilidade (O AlwaysOn Availability Group)

No Grupo de Disponibilidade Always On do SQL Server, usamos várias instâncias do SQL e as chamamos de réplica primária e secundária. Você pode ter uma única réplica primária e várias réplicas secundárias, dependendo da versão do SQL Server.

Neste artigo irei focar na aplicação de patch em um ambiente sem nenhum tipo de recurso de alta disponibilidade.

Podemos dividir o patching SQL Server em três fases.

• Pré trabalho

• Aplicar Patches

• Pós trabalho

Vamos passar por cada fase e entendê-la em detalhes.

1 – Fase Preparatória ou Pré trabalho

• Determine o nível de patch atual e o nível de patch a ser aplicado. Para o nível de patch de destino, você pode escolher o nível de patch N-1 (N = patch mais recente). No caso de você querer ir com o patch mais recente, sempre procure os blogs do SQL Server para quaisquer problemas conhecidos após aplicar o patch específico

• Você não deve aplicar o patch diretamente ao ambiente de produção. Teste o patch em ambientes de homologação e aguarde as validações dos aplicativos por pelo menos 1 semana e passe para o patch de produção;

• Você também deve ler as notas de lançamento do patch. Informações sobre as correções de bugs, melhorias;

• Antes de aplicar os patches verifique o seguinte:

◦ Verifique se você possui os backups mais recentes dos bancos de dados do sistema, bem como dos bancos de dados de usuários;

É bom fazer backups completos, no entanto se você tiver bancos de dados grandes, você pode fazer um backup diferencial ou o backup do log de transações antes de aplicar os patches.

• Verifique a integridade dos Banco de Dados e consistência através do comando (DBCC CHECKDB).

◦ Verifique se os serviços SQL estão online

◦ Validação de versão do SQL Server

◦ Verifique os logs de erro do SQL Server para quaisquer erros.

2 – Aplicação de Patch

Após baixar o arquivo no site da Microsoft basta executar o arquivo.

Neste nosso exemplo que seria o SQLServer2019-KB5007182-x64 que contem a CU14 (15.0.4188.2, November 2021)

Na imagem acima iremos escolher qual instância será instalado o patch, veja que no meu ambiente eu tenho duas instancias, eu poderia aplicar o patch nos dois ambientes ao mesmo tempo, mais irei fazer em apenas uma das instâncias.

Vejam que na imagem acima o programa de instalação de patch requisita um serviço seja parado para concluir o processo.

Pronto, o patch foi aplicado com sucesso.

3 – Pós Trabalho

• Verifique se você tem a versão atualizada da instância do SQL através do comando “select @@version”.

Veja que na tela abaixo já conseguimos visualizar que a CU14, foi aplicado na instância.

• Revise os logs de erro

• Peça a sua equipe de aplicação para validar a funcionalidade dos software rodam naquele ambiente.

Conclusão

O patch do SQL Server é uma tarefa essencial para profissionais de banco de dados. Neste artigo, exploramos a aplicação de patches do SQL Server em um ambiente sem recursos de alta disponibilidade mas com duas instâncias, e fizemos a aplicação de patch em apenas uma delas, caso você tenha mais de uma instância em seu ambiente este processo deve ser executado em cada instância.

Você deve se lembrar que cada ambiente pode ser diferente dependendo das configurações e dos recursos do SQL Server. Portanto, você deve planejar antes de aplicar qualquer patch para evitar pressa de última hora. Sempre aplique patches nos ambientes de desenvolvimento e teste antes.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *