Як видалити стандартну версію SQL Server 2014 без встановлення носія?


9

Копія SQL Server 2014 Standard була встановлена ​​у моєму вікні розробки як екземпляр за замовчуванням протягом декількох років. Я встановив стандарт на своїй машині, тому що мав безкоштовну ліцензію, яку я міг використовувати через свою підписку на MSDN. Тепер я хочу видалити SQL Server 2014 і зробити SQL Server 2017 Developer Edition своїм екземпляром за замовчуванням. Я спробував видалити SQL Server 2014 за допомогою стандартного робочого процесу "Додати / видалити програми", але після того, як запитав мене, які функції я хочу видалити, він запропонує мені каталог, що містить носій для видалення. На жаль, я не врятував пакет завантаження SQL Server 2014, отриманий від MSDN, і більше не маю доступу до MSDN. Я також перевірив свою Visual Studio, але вона повертається лише до SQL Server 2016. Як я можу видалити SQL Server 2014 Standard без встановленого носія?


Подальша інформація:

Вся причина, з якої я хочу видалити SQL Server 2014, полягає в тому, що я хочу використовувати STRING_AGGфункцію, що є новою для баз даних SQL Azure і SQL Server 2017. Щоб полегшити налаштування середовищ розробки, ми використовуємо позначення крапок для наших рядків підключення для розвитку місцевого середовища, наприклад наш рядок з'єднання:

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

Нотація крапок підключається до бази даних за замовчуванням, і, наскільки мені відомо, я не можу зробити SQL Server 2017 базою даних за замовчуванням без спочатку видалення SQL Server 2014. Якщо я можу використовувати рядок підключення крапкових позначень для підключення до SQL Server 2017 без видалення SQL Server 2014, тоді я також буду відкритий для цього рішення.

Відповіді:


10

Мені вдалося видалити свій екземпляр SQL Server 2014, завантаживши оціночну версію SQL Server 2014 *. Щоб завантажити версію для оцінювання, мені довелося надати Microsoft деякі контактні дані, а потім завантажити два файли. Один файл мав .boxрозширення, а інший - .exeрозширення. Виконаний файл, здавалося, просто розпакував файл із скринькою. Після того, як файл упаковки був розпакований, я відновив процес видалення SQL Server 2014 за допомогою стандартного робочого процесу "Додати / видалити програми". Зауважте, що я ніколи не намагався встановити версію оцінки. Я просто використав розпаковані файли для видалення наявного екземпляра SQL Server 2014.

Я вирішив видалити компоненти бази даних, але залишив спільні компоненти. Як тільки процес видалення запустив запит на встановлення носія, я виявив, що він попросить різні .msiфайли. Більшу частину часу він запитуватиме файл msi з "loc" у назві файлу, а потім msi-файл без "loc" у назві файлу. У папці, яку я розпакував у вікні файлу, розміщена "локальна" версія файлів msi:

\1033_ENU_LP\x64\Setup\

а файли без "loc" у назві файлу були розташовані:

\x64\Setup\

Після завершення процесу видалення я перезапустив комп’ютер і зміг встановити версію для розробників SQL Server 2017 як екземпляр за замовчуванням. Цікаво, що під час процесу встановлення SQL Server 2017 мені було запропоновано встановити носій для 2 файлів SQL Server 2014, один з яких був SQLWRITER.MSI. Я не знаю, чи це тому, що я не видалив спільні компоненти для SQL Server 2014. Якщо це створює мені проблеми в майбутньому через обмеженість у часі версії оцінки SQL Server 2014, яку я використовував для видалення старого SQL Стандартна версія сервера 2014 Я оновлю цю відповідь.


Альтернативні підходи, про які згадувалося в коментарях, які я не намагався, але, схоже, вони будуть гарними заходами для відмови.

  1. Вся причина, чому я хотів видалити SQL Server 2014, полягав у тому, що я міг використовувати позначення крапок для підключення до SQL Server 2017. Скотт Ходгін рекомендував дослідити техніку, щоб іменований екземпляр виглядав як екземпляр за замовчуванням . Я не пробував цю техніку, але судячи з голосів, зібраних за StackOverflow, він, безумовно, вирішив деякі проблеми людей.

  2. Здається, Аарон Бертран опинився в подібній ситуації, як я в минулому, і написав дві різні публікації в блозі ( перше , друге ) про способи примусового видалення без будь-яких носіїв для встановлення / видалення. Обидва повідомлення в блозі використовували по суті одну і ту ж техніку побудови пакетного файлу для виконання msiexecкоманди, яка примушує видалити на основі GUID, знайденого в реєстрі. Якщо ви читаєте лише одне з дописів щоденника, рекомендую друге. Для створення пакетного файлу використовується невеликий сценарій PowerShell. Хоча мені особисто не потрібно було використовувати цей підхід, це був мій наступний варіант. Також я хотів би дати Аарону підказку для капелюхів для боротьби через больову точку перед тим, як звичайна людина, як я, зіткнувся з проблемою, і за документальне оформлення гарного рішення проблеми для нащадків.


*: Дякую Алі Разегі за пропозицію такого підходу в коментарях.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.