J'ai eu une copie de SQL Server 2014 Standard installé sur ma boîte de développement comme instance par défaut pendant quelques années. J'ai installé la norme sur ma machine car j'avais une licence gratuite que je pourrais utiliser via mon abonnement MSDN. Maintenant, je veux désinstaller SQL Server 2014 et créer SQL Server 2017 Developer Edition mon instance par défaut. J'ai essayé de désinstaller SQL Server 2014 via le workflow Standard Add/Supprimer des programmes, mais après avoir demandé des fonctionnalités que je veux désinstaller, il m'inquitte du répertoire contenant le média de désinstallation. Malheureusement, je n'ai pas enregistré le package de téléchargement SQL Server 2014 à partir de MSDN et je n'ai plus accès à MSDN. J'ai également vérifié mon studio Visual, mais je ne reviens que sur SQL Server 2016. Comment puis-je désinstaller SQL Server 2014 Standard sans l'installation Media?
Suite arrière-plan:
Toute la raison pour laquelle je veux désinstaller SQL Server 2014 est que je veux utiliser le STRING_AGG
Fonction neuve dans Azure SQL Bases de données et SQL Server 2017. Pour faciliter la mise en place d'environnements de développement, nous utilisons la notation de points pour nos chaînes de connexion de développement de l'environnement local, par exemple notre chaîne de connexion est la suivante:
Data Source=.;Initial Catalog=<Database Name>;Trusted_Connection=True;Connection Timeout=30;
La notation de points se connecte à la base de données par défaut et à mes connaissances, je ne peux pas créer SQL Server 2017 la base de données par défaut sans désinstaller SQL Server 2014 en premier. Si je peux utiliser la chaîne de connexion de notation DOT pour vous connecter à SQL Server 2017 sans désinstaller SQL Server 2014, je serais également ouvert à cette solution.
J'ai pu désinstaller mon instance SQL Server 2014 en téléchargeant la version version de l'évaluation SQL Server 2014 *. Afin de télécharger la version d'évaluation, je devais donner aux coordonnées de Microsoft certains contacts, puis télécharger deux fichiers. Un fichier avait un .box
extension et l'autre avaient un .exe
extension. L'exécutable semblait simplement décompresser le fichier de la boîte. Une fois le fichier de la boîte déballé, j'ai réinitialisé le processus de désinstallation SQL Server 2014 via le flux de travail Standard Add/Supprimer des programmes. Notez que je n'ai jamais essayé d'installer la version d'évaluation. Je viens d'utiliser les fichiers déballés pour désinstaller mon instance SQL Server 2014 existante.
J'ai choisi de désinstaller les composants de la base de données mais laissez les composants partagés. Une fois que le processus de désinstallation a commencé à demander au média d'installation, j'ai trouvé qu'il demanderait à diverses .msi
des dossiers. La plupart du temps, il demanderait un fichier MSI avec "LOC" dans le nom de fichier suivi d'un fichier MSI sans "loc" dans le nom de fichier. Dans le dossier, j'ai déballé le fichier de la boîte, la version "LOC" des fichiers MSI était située:
\1033_ENU_LP\x64\Setup\
et les fichiers sans "loc" dans le nom de fichier étaient situés:
\x64\Setup\
Après le processus de désinstallation terminé, j'ai redémarré mon ordinateur et j'ai pu installer SQL Server 2017 Developer Edition comme instance par défaut. Fait intéressant lors du processus d'installation SQL Server 2017, j'ai été invité pour le support d'installation pour 2 fichiers SQL Server 2014, dont l'un était SQLWRITER.MSI
. Je ne sais pas si tel est parce que je n'ai pas désinstallé les composants partagés pour SQL Server 2014. Si cela me donne des problèmes à l'avenir en raison de la nature limitée de la version d'évaluation SQL Server 2014, je désinstaller mon ancien SQL Server 2014 Standard Edition Je vais mettre à jour cette réponse.
Des approches alternatives mentionnées dans des observations que je n'ai pas essayées, mais paraître comme si elles seraient de bonnes mesures d'automne.
Toute la raison pour laquelle je voulais désinstaller SQL Server 2014 était donc pour pouvoir utiliser la notation du point pour se connecter à SQL Server 2017. Scott hodgin Recommandé J'enquête sur une technique pour faire une instance nommée apparaît comme une instance par défaut . Je n'ai pas essayé cette technique mais à en juger par les votes, c'est collecté sur Stackoverflow, il a sûrement résolu les problèmes de certaines personnes.
Aaron Bertrand Il semble avoir été dans une situation similaire à moi dans le passé et écrit deux postes de blog différents ( premier , deuxième ) sur les moyens de forcer la suppression sans aucun support d'installation/désinstallation. Les deux poteaux de blog utilisaient essentiellement la même technique de construction d'un fichier de commandes pour exécuter la commande msiexec
qui force une désinstallation basée sur le GUID trouvé dans le registre. Si vous ne lisez qu'un seul des poteaux de blog, je recommanderais le second. Il utilise un petit script PowerShell pour construire le fichier de commandes. Bien que je n'ai pas personnellement besoin d'utiliser cette approche, c'était ma prochaine option. J'aimerais aussi donner à Aaron un Conseil de chapeau pour se battre à travers un point douloureux avant qu'un homme commun comme moi a rencontré le problème et de documenter une bonne solution au problème de la postérité.
*: Merci à Ali Razeghi pour suggérer cette approche dans les commentaires.