Como corrigir erro no pacote VS Shell em atualização In-Place

DBA e Consultor de Banco de Dados

Como corrigir erro no pacote VS Shell em atualização In-Place

Tempo de leitura: 4 minutos

Fala Galera,

Espero que estejam todos bem!

Hoje vou trazer um caso de um problema que eu tive em um cliente recentemente que achei interessante compartilhar com vocês.

Em resumo, o cliente tinha um ambiente local (On Premise) e precisava atualizar o seu SQL Server da versão 2016 para a 2017. Como era uma instância de homologação/desenvolvimento ele optou por fazer a atualização In-place.

Mas o que é esse raio de atualização In-place Gustavo?

É uma atualização transparente feita a partir do seu próprio servidor.

Para esse procedimento, utiliza-se a mídia de instalação do SQL Server (da versão que deseja atualizar). Ela fará o upgrade dos binários de instalação da sua instância para a versão desejada.

Com a mídia de instalação do SQL Server em mãos e previamente montada no seu ambiente, é muito simples realizar a atualização, basta clicar no ícone “Upgrade de uma versão anterior do SQL Server” e ir seguindo os passos que são autoexplicativos.

Vou listar aqui alguns pontos que vejo como vantagens e desvantagens dessa abordagem.

Vantagens

  • Os artefatos do servidor, configurações, bases serão mantidos com a atualização;
  • Esse procedimento geralmente é muito rápido;
  • Requer apenas a mídia de instalação do SQL Server na qual você deseja fazer o upgrade;

Desvantagens

  • Maior probabilidade de erros e/ou falhas;
  • No caso de falhas durante a atualização, dependendo do erro pode ser irreversível voltar o seu ambiente;
  • Troubleshooting avançado;

Já tive alguns problemas no passado com esse tipo de atualização, tanto em ambiente de produção quanto em homologação.

Normalmente em ambientes de missão crítica, sempre exponho os riscos desse tipo de atualização e deixo claro os problemas que já vivenciei trabalhando com essa abordagem.

É sempre bom ter um Backup de toda a sua estrutura VM, Discos, etc, para que você consiga voltar o seu ambiente em caso de falhas durante a atualização, se você estiver disposto a se arriscar em fazer isso.

Bom vamos para o problema.

Enquanto estava aplicando as atualizações no ambiente, recebi o seguinte erro.

Esse erro estava me impedindo de concluir a instalação.

O SQL Server utiliza pacotes do Visual Studio em sua instalação. Pesquisando sobre o problema, encontrei um artigo no Stack Exchange no qual um usuário passou pela mesma dificuldade.

https://dba.stackexchange.com/questions/190090/help-installing-sql-server-2017-vs-shell-installation-has-failed-with-exit-cod

Para corrigir esse erro, ele reparou a instalação do componente “Microsoft Visual Studio 2017 C++ Redistributable (x64)”.

Fiz exatamente a mesma coisa.

Abra a sua barra de pesquisas no menu iniciar e procure por adicionar.

Obs.: Isso é um atalho, essa tela pode ser aberta de outras formas também.

Feito isso, pesquise pelo pacote “Microsoft Visual Studio 2017 C++ Redistributable (x64)” e clique em Modificar.

Agora clique em Reparar.

O seu pacote será reparado e um restart do servidor será necessário para concluir as ações.

Após os reparos realizados e com o servidor reiniciado, faça novamente a atualização.

Opa, agora sim aplicou a atualização com sucesso, problema resolvido! ?

– Ah Gustavo, mas então é só esse tipo de problema que eu posso enfrentar com uma atualização In-place?

Literalmente Não!!! Esse foi apenas um exemplo de um cenário específico que eu passei e que também pode acontecer com você, mas ainda existem muitos outros erros de origens diferentes que podem ocorrer e aí só investigando mesmo para descobrir como resolver, o que fazer, etc. Por isso não sou muito a favor dessa abordagem In-place, basicamente quando isso acontece é se vira nos 30.

É isso pessoal, espero que tenham gostado.

Um forte abraço a todos, fiquem com Deus.

Gustavo Larocca

Consultor SQL Server

 

 

 

3 comentários

  1. Atualização IN-PLACE é sempre a mais perigosa mesmo e temos que tentar coletar o máximo de informações / configurações para poder utilizar em um possível ROLLBACK (Deus me livre hehe).

    Ótimo Post!!!

    Abraço,
    Luiz Vitor

    • Gustavo disse:

      Obrigado Luiz, até arrepio quando escuto falar nesse tipo de atualização hehehe.
      Realmente é sempre uma caixinha de surpresas. tudo pode acontecer.

      Valeu pelo feedback.

      Abraços!!

Deixe uma resposta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.