Come disinstallare SQL Server 2014 Standard Edition senza installare i supporti?


9

Ho avuto una copia di SQL Server 2014 Standard installata sulla mia casella di sviluppo come istanza predefinita per alcuni anni. Ho installato lo standard sul mio computer perché avevo una licenza gratuita che potevo usare tramite il mio abbonamento MSDN. Ora desidero disinstallare SQL Server 2014 e rendere SQL Server 2017 Developer Edition la mia istanza predefinita. Ho provato a disinstallare SQL Server 2014 tramite il flusso di lavoro standard Installazione applicazioni, ma dopo avermi chiesto quali funzionalità desidero disinstallare, viene richiesto di visualizzare la directory contenente il supporto di disinstallazione. Purtroppo non ho salvato il pacchetto di download di SQL Server 2014 ottenuto da MSDN e non ho più accesso a MSDN. Ho anche controllato My Visual Studio ma risale solo a SQL Server 2016. Come posso disinstallare SQL Server 2014 Standard senza il supporto di installazione?


Ulteriore sfondo:

L'intero motivo per cui voglio disinstallare SQL Server 2014 è che voglio usare la STRING_AGGfunzione che è nuova per i database SQL di Azure e SQL Server 2017. Per rendere più semplice l'impostazione degli ambienti di sviluppo, usiamo la notazione dei punti per le stringhe di connessione di sviluppo dell'ambiente locale, ad esempio la nostra stringa di connessione è:

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

La notazione con i punti si collega al database predefinito e, per quanto ne so, non posso rendere SQL Server 2017 il database predefinito senza disinstallare prima SQL Server 2014. Se posso usare la stringa di connessione della notazione dot per connettermi a SQL Server 2017 senza disinstallare SQL Server 2014, sarei aperto anche a quella soluzione.

Risposte:


10

Sono stato in grado di disinstallare la mia istanza di SQL Server 2014 scaricando la versione di valutazione di SQL Server 2014 *. Per scaricare la versione di valutazione ho dovuto fornire a Microsoft alcuni dettagli di contatto e quindi scaricare due file. Un file aveva .boxun'estensione e l'altro aveva .exeun'estensione. L'eseguibile sembrava decomprimere il file box. Dopo aver decompresso il file box, ho reinizializzato il processo di disinstallazione di SQL Server 2014 tramite il flusso di lavoro standard Installazione applicazioni. Si noti che non ho mai tentato di installare la versione di valutazione. Ho appena usato i file decompressi per disinstallare la mia istanza esistente di SQL Server 2014.

Ho scelto di disinstallare i componenti del database ma di lasciare i componenti condivisi. Una volta che il processo di disinstallazione ha iniziato a richiedere il supporto di installazione, ho scoperto che avrebbe richiesto vari .msifile. Il più delle volte chiederebbe un file msi con "loc" nel nome file seguito da un file msi senza "loc" nel nome file. Nella cartella in cui ho decompresso il file box è stata trovata la versione "loc" dei file msi:

\1033_ENU_LP\x64\Setup\

e i file senza "loc" nel nome del file sono stati trovati:

\x64\Setup\

Dopo aver completato il processo di disinstallazione, ho riavviato il mio computer e sono stato in grado di installare SQL Server 2017 Developer Edition come istanza predefinita. È interessante notare che durante il processo di installazione di SQL Server 2017 mi è stato richiesto il supporto di installazione per 2 file di SQL Server 2014, uno dei quali era SQLWRITER.MSI. Non so se questo perché non ho disinstallato i componenti condivisi per SQL Server 2014. Se questo mi dà problemi in futuro a causa della natura limitata nel tempo della versione di valutazione di SQL Server 2014, ho usato per disinstallare il mio vecchio SQL Server 2014 Standard Edition Aggiornerò questa risposta.


Approcci alternativi che sono stati menzionati nei commenti che non ho provato, ma sembrano essere buone misure di fallback.

  1. L'intero motivo per cui volevo disinstallare SQL Server 2014 era in modo da poter usare la notazione punto per connettermi a SQL Server 2017. Scott Hodgin mi ha consigliato di studiare una tecnica per far apparire un'istanza denominata come un'istanza predefinita . Non ho provato questa tecnica ma a giudicare dai voti raccolti su StackOverflow ha sicuramente risolto i problemi di alcune persone.

  2. Sembra che Aaron Bertrand si sia trovato in una situazione simile alla mia in passato e abbia scritto due diversi post sul blog (il primo , il secondo ) sui modi per forzare la rimozione senza alcun supporto di installazione / disinstallazione. Entrambi i post del blog hanno utilizzato essenzialmente la stessa tecnica di creazione di un file batch per eseguire il msiexeccomando che forza una disinstallazione in base al GUID trovato nel registro. Se leggi solo uno dei post del blog, ti consiglio il secondo. Utilizza un piccolo script di PowerShell per creare il file batch. Mentre non avevo personalmente bisogno di usare questo approccio, era la mia prossima opzione. Inoltre, vorrei dare ad Aaron un consiglio per combattere un momento doloroso prima che un uomo comune come me incontrasse il problema e per documentare una buona soluzione al problema dei posteri.


*: Grazie ad Ali Razeghi per aver suggerito questo approccio nei commenti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.