Bagaimana cara menghapus SQL Server 2014 Edisi Standar tanpa menginstal media?

9

Saya sudah memiliki salinan SQL Server 2014 Standard diinstal pada kotak dev saya sebagai contoh default selama beberapa tahun. Saya menginstal standar pada mesin saya karena saya memiliki lisensi gratis yang dapat saya gunakan melalui berlangganan MSDN saya. Sekarang saya ingin menghapus SQL Server 2014 dan menjadikan SQL Server 2017 Developer Edition sebagai contoh default saya. Saya mencoba untuk menghapus SQL Server 2014 melalui alur kerja standar Tambah / Hapus Program tetapi setelah menanyakan kepada saya fitur apa yang ingin saya hapus itu meminta saya untuk direktori yang berisi media hapus instalan. Sayangnya saya tidak menyimpan paket unduhan SQL Server 2014 yang saya dapatkan dari MSDN, dan saya tidak lagi memiliki akses ke MSDN. Saya juga memeriksa My Visual Studio tetapi hanya kembali ke SQL Server 2016. Bagaimana saya bisa menghapus SQL Server 2014 Standard tanpa menginstal media?


Latar belakang lebih lanjut:

Seluruh alasan saya ingin menghapus instalasi SQL Server 2014 adalah saya ingin menggunakan STRING_AGGfungsi yang baru untuk Azure SQL Databases dan SQL Server 2017. Untuk membuat pengaturan lingkungan pengembangan lebih mudah, kami menggunakan notasi titik untuk string koneksi pengembangan lingkungan lokal kami, misalnya string koneksi kami adalah:

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

Notasi titik terhubung ke database default, dan setahu saya saya tidak bisa menjadikan SQL Server 2017 database default tanpa menghapus instalasi SQL Server 2014 terlebih dahulu. Jika saya dapat menggunakan string koneksi notasi titik untuk terhubung ke SQL Server 2017 tanpa menghapus instalasi SQL Server 2014 maka saya akan terbuka untuk solusi itu juga.

Erik
sumber

Jawaban:

10

Saya dapat menghapus instalan SQL Server 2014 saya dengan mengunduh versi evaluasi SQL Server 2014 *. Untuk mengunduh versi evaluasi, saya harus memberikan rincian kontak kepada Microsoft dan kemudian mengunduh dua file. Satu file memiliki .boxekstensi dan yang lainnya memiliki .exeekstensi. Yang dapat dieksekusi tampaknya hanya membongkar file kotak. Setelah file kotak dibongkar saya memulai kembali proses uninstall SQL Server 2014 melalui alur kerja standar Tambah / Hapus Program. Perhatikan bahwa saya tidak pernah mencoba menginstal versi evaluasi. Saya hanya menggunakan file yang belum dibongkar untuk menghapus instalan SQL Server 2014 yang ada.

Saya memilih untuk menghapus komponen database tetapi meninggalkan komponen bersama. Setelah proses uninstall mulai meminta media instal, saya menemukan akan meminta berbagai .msifile. Sebagian besar waktu itu akan meminta file msi dengan "loc" di nama file diikuti oleh file msi tanpa "loc" di nama file. Dalam folder tempat saya membongkar file box, versi "loc" dari file msi berada:

\1033_ENU_LP\x64\Setup\

dan file tanpa "loc" di nama file berada:

\x64\Setup\

Setelah proses penghapusan selesai saya me-restart komputer saya dan dapat menginstal SQL Server 2017 Developer Edition sebagai contoh default. Menariknya selama proses instalasi SQL Server 2017 saya diminta untuk menginstal media untuk 2 file SQL Server 2014, salah satunya SQLWRITER.MSI. Saya tidak tahu apakah ini karena saya tidak menghapus komponen bersama untuk SQL Server 2014. Jika ini memberi saya masalah di masa depan karena sifat terbatas waktu versi evaluasi SQL Server 2014 saya digunakan untuk menghapus SQL lama saya Server 2014 Edisi Standar Saya akan memperbarui jawaban ini.


Pendekatan alternatif yang disebutkan dalam komentar yang tidak saya coba, tetapi sepertinya itu akan menjadi langkah mundur yang baik.

  1. Seluruh alasan mengapa saya ingin menghapus SQL Server 2014 adalah agar saya bisa menggunakan notasi titik untuk terhubung ke SQL Server 2017. Scott Hodgin merekomendasikan saya menyelidiki teknik untuk membuat instance bernama tampak seperti instance default . Saya tidak mencoba teknik ini tetapi menilai berdasarkan suaranya yang dikumpulkan di StackOverflow itu pasti telah memecahkan masalah beberapa orang.

  2. Aaron Bertrand tampaknya telah berada dalam situasi yang sama seperti saya di masa lalu dan menulis dua posting blog yang berbeda ( pertama , kedua ) tentang cara-cara untuk memaksa penghapusan tanpa media instal / uninstall. Kedua posting blog pada dasarnya menggunakan teknik yang sama untuk membangun file batch untuk mengeksekusi msiexecperintah yang memaksa uninstall berdasarkan GUID yang ditemukan dalam registri. Jika Anda hanya membaca salah satu posting blog saya akan merekomendasikan yang kedua. Ini menggunakan skrip PowerShell kecil untuk membangun file batch. Meskipun saya pribadi tidak perlu menggunakan pendekatan ini, itu adalah pilihan saya berikutnya. Saya juga ingin memberikan tip topi kepada Harun untuk berjuang melalui titik sakit sebelum orang biasa seperti saya menghadapi masalah, dan untuk mendokumentasikan solusi yang baik untuk masalah keturunan.


*: Terima kasih kepada Ali Razeghi karena menyarankan pendekatan ini dalam komentar.

Erik
sumber