Jak odinstalować SQL Server 2014 Standard Edition bez instalowania nośników?

9

Przez kilka lat zainstalowałem kopię SQL Server 2014 Standard na moim urządzeniu deweloperskim jako domyślną instancję. Zainstalowałem standard na moim komputerze, ponieważ miałem bezpłatną licencję, z której mogłem korzystać za pośrednictwem mojej subskrypcji MSDN. Teraz chcę odinstalować program SQL Server 2014 i ustawić SQL Server 2017 Developer Edition jako domyślną instancję. Próbowałem odinstalować program SQL Server 2014 za pomocą standardowego przepływu pracy Dodaj / Usuń programy, ale po zapytaniu mnie, jakie funkcje chcę odinstalować, monituje mnie o katalog zawierający nośnik do odinstalowania. Niestety nie zapisałem pakietu do pobrania SQL Server 2014, który dostałem z MSDN i nie mam już dostępu do MSDN. Sprawdziłem także Moje Visual Studio, ale wraca ono tylko do SQL Server 2016. Jak mogę odinstalować SQL Server 2014 Standard bez nośników instalacyjnych?


Dalsze informacje:

Cały powód, dla którego chcę odinstalować program SQL Server 2014, polega na tym, że chcę użyć STRING_AGGfunkcji, która jest nowa w bazach danych Azure SQL i SQL Server 2017. Aby ułatwić konfigurowanie środowisk programistycznych, używamy na przykład notacji kropkowej dla parametrów połączenia programistycznego środowiska lokalnego. nasz ciąg połączenia to:

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

Notacja kropkowa łączy się z domyślną bazą danych i o ile wiem, nie mogę uczynić SQL Server 2017 domyślną bazą danych bez odinstalowania programu SQL Server 2014. Jeśli mogę użyć ciągu połączenia z notacją kropkową, aby połączyć się z programem SQL Server 2017 bez odinstalowywania programu SQL Server 2014, byłbym otwarty na to rozwiązanie.

Erik
źródło

Odpowiedzi:

10

Udało mi się odinstalować moją instancję programu SQL Server 2014, pobierając wersję testową programu SQL Server 2014 *. Aby pobrać wersję testową, musiałem podać Microsoft dane kontaktowe, a następnie pobrać dwa pliki. Jeden plik miał .boxrozszerzenie, a drugi .exerozszerzenie. Plik wykonywalny wydawał się po prostu rozpakować plik pola. Po rozpakowaniu pliku skrzynki ponownie zainicjowałem proces odinstalowywania programu SQL Server 2014 za pomocą standardowego przepływu pracy Dodaj / Usuń programy. Pamiętaj, że nigdy nie próbowałem instalować wersji testowej. Właśnie użyłem rozpakowanych plików do odinstalowania mojej istniejącej instancji SQL Server 2014.

Zdecydowałem się odinstalować komponenty bazy danych, ale zostawiłem komponenty udostępnione. Po rozpoczęciu procesu odinstalowywania z żądaniem nośnika instalacyjnego znalazłem, że poprosi o różne .msipliki. Przez większość czasu prosi o plik msi z „loc” w nazwie pliku, a następnie plik msi bez „loc” w nazwie pliku. W folderze, w którym rozpakowałem plik pudełkowy, zlokalizowana była wersja „loc” plików msi:

\1033_ENU_LP\x64\Setup\

i pliki bez „loc” w nazwie pliku zostały zlokalizowane:

\x64\Setup\

Po zakończeniu procesu dezinstalacji ponownie uruchomiłem komputer i mogłem zainstalować program SQL Server 2017 Developer Edition jako instancję domyślną. Co ciekawe podczas procesu instalacji programu SQL Server 2017 zostałem poproszony o nośnik instalacyjny dla 2 plików programu SQL Server 2014, z których jeden był SQLWRITER.MSI. Nie wiem, czy to dlatego, że nie odinstalowałem współużytkowanych komponentów dla SQL Server 2014. Jeśli to sprawi mi problemy w przyszłości z powodu ograniczonego czasowo charakteru wersji testowej SQL Server 2014 użyłem do odinstalowania mojego starego SQL Server 2014 Standard Edition Zaktualizuję tę odpowiedź.


Alternatywne podejścia wspomniane w komentarzach, których nie próbowałem, ale wydaje się, że byłyby to dobre środki awaryjne.

  1. Głównym powodem, dla którego chciałem odinstalować program SQL Server 2014, było to, że mogłem użyć notacji kropkowej, aby połączyć się z programem SQL Server 2017. Scott Hodgin zalecił zbadanie techniki, dzięki której nazwane wystąpienie będzie wyglądało jak wystąpienie domyślne . Nie wypróbowałem tej techniki, ale sądząc po głosach zebranych na StackOverflow z pewnością rozwiązało problemy niektórych osób.

  2. Wydaje mi się, że Aaron Bertrand był w podobnej sytuacji jak ja w przeszłości i napisał dwa różne posty na blogu ( pierwszy , drugi ) na temat sposobów wymuszenia usunięcia bez nośników instalacyjnych / odinstalowujących. Oba posty na blogu używały zasadniczo tej samej techniki budowania pliku wsadowego w celu wykonania msiexecpolecenia, które wymusza odinstalowanie na podstawie identyfikatora GUID znalezionego w rejestrze. Jeśli czytasz tylko jeden z postów na blogu, polecam drugi. Do zbudowania pliku wsadowego używa małego skryptu PowerShell. Chociaż nie potrzebowałem osobiście tego podejścia, była to moja następna opcja. Chciałbym też dać Aaronowi czapkę na temat walki w bólu, zanim zwykły człowiek taki jak ja napotka problem, i na udokumentowanie dobrego rozwiązania problemu potomności.


*: Dziękuję Ali Razeghi za zasugerowanie tego podejścia w komentarzach.

Erik
źródło