Synopsis
Ce n'est pas un nouveau problème et il existe plusieurs solutions flottant sur Internet.
Problème
Lorsque vous double-cliquez sur un .sql
fichier, une nouvelle instance de SSMS est ouverte. Je n'ai pas eu ce problème jusqu'à ce que le nouveau SQL Server Management Studio (SSMS 17.9.1) soit installé.
Ce que j'ai essayé
"%1"
mais cela ne fait aucune différence.Solutions de contournement
Oui, je connais ces solutions:
.sql
fichiers vers SSMSJe suis pas à la recherche de solutions de contournement.
Mon environnement
Même avec le nouveau SSMS 17.9.1 (build: 14.0.17289.0), je pointe toujours vers SQL Server 2016 (13.0.5233.0). Auparavant, j'utilisais SSMS juin 2016 (build: 13.0.15000.23) avec le même SQL Server (13.0.5233.0).
En raison de l'autorisation, je n'exécute aucune application en tant qu'administrateur.
Les versions de SQL Server sont répertoriées ici .
Les versions de SQL Server Management Studio sont répertoriées ici .
J'ai rencontré ce problème après avoir installé SSMS 18 au lieu de 17.9. Ensuite, j'ai essayé des solutions de la liste ci-dessus mais aucune n'a fonctionné. Désinstaller SSMS 18 et réinstaller 17.9 n'a pas fonctionné non plus. J'ai finalement pu résoudre ce problème avec SSMS 18, mais j'espère que cela corrigera également le comportement incorrect de SSMS 17. Tout d'abord, j'ai désinstallé SSMS, puis j'ai cherché dans le registre pour trouver et supprimer tous les nœuds significatifs contenant des informations sur SSMS ou sql_auto_file. J'ai supprimé les nœuds suivants (n'oubliez pas de sauvegarder chacun d'eux avant de les supprimer!):
Ensuite, j'ai redémarré mon PC, puis installé SSMS 18, puis redémarré à nouveau. Après cela, SSMS ouvre les fichiers sql dans l'instance SSMS existante et Explorer a une icône de fichier correcte attribuée (document avec une petite icône de base de données)
Le message d'Alexander G m'a conduit à ma réponse.
J'ai eu le même problème en ouvrant des fichiers .sql à partir de l'Explorateur en double-cliquant dessus ouvrirait une nouvelle instance de SSMS, plutôt que celle ouverte existante. Il s'agissait d'une toute nouvelle installation de SQL/SSMS sur un nouvel ordinateur portable et n'a donc pas été causée par un conflit avec une version antérieure.
Mon compte d'utilisateur standard sur l'ordinateur portable n'est pas un administrateur, donc SSMS a été installé à l'aide de "exécuter en tant qu'administrateur". Il semble que procéder de cette manière remplit les paramètres de registre spécifiques à l'utilisateur corrects dans le registre des comptes de l'administrateur plutôt que dans le mien.
Les entrées particulières incorrectes qui semblaient causer le problème étaient les suivantes:
J'ai créé manuellement ces entrées dans la ruche HKEY_USERS pour mon utilisateur en fonction des valeurs créées pour mon administrateur et maintenant mes fichiers .sql s'ouvrent dans l'instance existante de SSMS.
(Je pense que c'est quelque chose à voir avec l'association à sql_auto_file, plutôt qu'à ssms.sql15.0)
J'ai enfin trouvé une solution à ce problème. Ajoutez ce qui suit à votre registre HKCU et j'espère que cela devrait fonctionner:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.sql\OpenWithList] "a" = "ssms.exe" "MRUList" = "a"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.sql\OpenWithProgids] "ssms.sql.15.0" = hex (0):
J'ai résolu ce problème en fermant Management Studio (v 18.3.1), puis en double-cliquant sur un fichier .sql dans l'Explorateur de fichiers qui ouvre SSMS. Après cela, j'ai double-cliqué sur un autre .sql et il s'est ouvert dans la même instance SSMS, puis j'ai fait un autre double-clic sur un autre .sql et il s'est ouvert dans la même instance SSMS.
Afin de voir si cela "l'a corrigé", j'ai fermé SSMS, puis ouvert SSMS. Double-cliquez ensuite sur deux fichiers .sql différents et ils s'ouvrent tous les deux dans la même instance SSMS.