Como desinstalar o SQL Server 2014 Standard Edition sem instalar a mídia?

9

Eu tenho uma cópia do SQL Server 2014 Standard instalada na minha caixa de desenvolvimento como a instância padrão por alguns anos. Instalei o padrão na minha máquina porque tinha uma licença gratuita que podia usar por meio da minha assinatura do MSDN. Agora, quero desinstalar o SQL Server 2014 e tornar o SQL Server 2017 Developer Edition minha instância padrão. Tentei desinstalar o SQL Server 2014 por meio do fluxo de trabalho padrão Adicionar / Remover Programas, mas depois de me perguntar quais recursos eu quero desinstalar, ele solicita o diretório que contém a mídia de desinstalação. Infelizmente, não salvei o pacote de download do SQL Server 2014 que obtive do MSDN e não tenho mais acesso ao MSDN. Também verifiquei o My Visual Studio, mas ele só volta ao SQL Server 2016. Como posso desinstalar o SQL Server 2014 Standard sem a mídia de instalação?


Antecedentes adicionais:

Todo o motivo pelo qual eu quero desinstalar o SQL Server 2014 é que eu quero usar a STRING_AGGfunção que é nova nos Bancos de Dados SQL do Azure e no SQL Server 2017. Para facilitar a configuração de ambientes de desenvolvimento, usamos a notação de ponto para nossas cadeias de conexão de desenvolvimento do ambiente local, por exemplo nossa cadeia de conexão é:

Data Source=.;Initial Catalog=<Database Name>;Trusted_Connection=True;Connection Timeout=30; 

A notação de ponto se conecta ao banco de dados padrão e, pelo que sei, não posso tornar o SQL Server 2017 o banco de dados padrão sem desinstalar o SQL Server 2014 primeiro. Se eu puder usar a cadeia de conexão da notação de ponto para conectar-se ao SQL Server 2017 sem desinstalar o SQL Server 2014, também estaria aberto a essa solução.

Erik
fonte

Respostas:

10

Consegui desinstalar minha instância do SQL Server 2014 baixando a versão de avaliação do SQL Server 2014 *. Para baixar a versão de avaliação, tive que fornecer à Microsoft alguns detalhes de contato e baixar dois arquivos. Um arquivo tinha uma .boxextensão e o outro uma .exeextensão. O executável parecia apenas descompactar o arquivo da caixa. Depois que o arquivo da caixa foi descompactado, reiniciei o processo de desinstalação do SQL Server 2014 por meio do fluxo de trabalho padrão Adicionar / Remover Programas. Observe que eu nunca tentei instalar a versão de avaliação. Acabei de usar os arquivos descompactados para desinstalar minha instância existente do SQL Server 2014.

Eu escolhi desinstalar os componentes do banco de dados, mas deixei os componentes compartilhados. Depois que o processo de desinstalação começou a solicitar a mídia de instalação, achei que ele pedia vários .msiarquivos. Na maioria das vezes, solicitava um arquivo msi com "loc" no nome do arquivo, seguido por um arquivo msi sem "loc" no nome do arquivo. Dentro da pasta que eu descompactei o arquivo da caixa, estava localizada a versão "loc" dos arquivos msi:

\1033_ENU_LP\x64\Setup\

e os arquivos sem "loc" no nome do arquivo foram localizados:

\x64\Setup\

Após a conclusão do processo de desinstalação, reiniciei o computador e consegui instalar o SQL Server 2017 Developer Edition como instância padrão. Curiosamente, durante o processo de instalação do SQL Server 2017, fui solicitada a mídia de instalação para 2 arquivos do SQL Server 2014, um dos quais era SQLWRITER.MSI. Não sei se é porque não desinstalei os componentes compartilhados do SQL Server 2014. Se isso me der problemas no futuro devido à natureza limitada no tempo da versão de avaliação do SQL Server 2014, usei para desinstalar meu SQL antigo Server 2014 Standard Edition Atualizarei esta resposta.


Abordagens alternativas mencionadas nos comentários que eu não tentei, mas parecem ser boas medidas de retorno.

  1. Todo o motivo pelo qual eu queria desinstalar o SQL Server 2014 era para poder usar a notação de ponto para conectar-me ao SQL Server 2017. Scott Hodgin recomendou Investigar uma técnica para fazer uma instância nomeada parecer uma instância padrão . Eu não tentei essa técnica, mas a julgar pelos votos coletados no StackOverflow, certamente resolveu os problemas de algumas pessoas.

  2. Aaron Bertrand parece ter estado em uma situação semelhante à minha no passado e escreveu duas postagens de blog diferentes ( primeiro , segundo ) sobre maneiras de forçar a remoção sem nenhuma mídia de instalação / desinstalação. As duas postagens do blog usaram essencialmente a mesma técnica de criação de um arquivo em lotes para executar o msiexeccomando que força uma desinstalação com base no GUID encontrado no registro. Se você ler apenas uma das postagens do blog, recomendo a segunda. Ele usa um pequeno script do PowerShell para criar o arquivo em lotes. Embora eu não precisasse usar essa abordagem pessoalmente, era minha próxima opção. Também gostaria de dar a Aaron uma gorjeta por lutar contra um ponto de dor antes que um homem comum como eu encontrasse o problema e por documentar uma boa solução para o problema para a posteridade.


*: Obrigado a Ali Razeghi por sugerir essa abordagem nos comentários.

Erik
fonte