web-dev-qa-db-fra.com

Comment ouvrir plusieurs fichiers .sql en une seule instance ssms

Je suis administrateur de base de données avec un nouveau serveur exécutant Windows Server 2008 Enterprise SP1 avec SQL Server 2008 et SQL Server Management Studio.

Dans ma boîte précédente, lorsque je travaillais dans Visual Studio avec une solution de base de données contenant de nombreux fichiers .sql, je double-cliquais sur les fichiers .sql et ils étaient ouverts dans la même instance SSMS (le cas échéant). Cependant (même avec exactement la même installation dans la nouvelle boîte), je reçois maintenant une nouvelle instance SSMS lorsque je double-clique sur chaque fichier SQL. C'est vraiment pénible .sql - une instance SSMS alors j'ai commencé mes recherches à ce sujet.

Ce que j'ai essayé jusqu'à présent:

1) Faites un clic droit sur le fichier .sql> option "Ouvrir avec"> option "Ajouter"> "Nom du programme: C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe "et" Nom convivial: SQL ">" Ok ">" Définir par défaut ". Ne marche pas. Avoir toujours une instance SQL - une instance SSMS.

2) Perfomed Exécuter> regedit> et modifier les données de valeur de HKEY_CLASSES_ROOT\sqlwb.sql.9.0\Shell\Open\Command et remplacer/dde par "% 1". NE MARCHE PAS

3) Faites un clic droit sur le fichier .sql> option "Ouvrir avec"> option "Ajouter"> "Nom du programme: Explorer.exe" et "Nom convivial: Explorateur"> "Ok"> "Définir par défaut". Ne marche pas. Lorsque vous double-cliquez sur les fichiers .sql, Notepad est livré avec le contenu des scripts.

4) Quelques pages comme ça

http://social.msdn.Microsoft.com/Forums/en/sqltools/thread/ac2f39c5-66e5-495c-b7a6-47e743853baf

demande de modifier l'association de fichier, mais lors de l'ouverture de l'Explorateur Windows> Outils> Options des dossiers ... J'ai constaté qu'il n'y avait pas d'onglet "Type de fichier". Comme c'est ennuyeux!

Quelqu'un peut m'aider à ce sujet? Mon patient, il est vraiment à court.

Merci d'avance

24
George_21

Après avoir passé la majeure partie de ma journée de travail à chercher la solution, je l’ai finalement trouvée. Merci mon Dieu, je manquais presque de problèmes avec ce problème. J'espère que ça aide quelqu'un d'autre !!! 

Mise à jour: le domaine lié a expiré, alors voici ce qu'il a dit:

Compte tenu de la manière dont les outils Microsoft sont généralement intégrés, le résultat est frustrant lorsque vous dites à Visual Studio d'ouvrir des fichiers SQL à l'aide de Sql Server Management Studio (SSMS). Je n'aime vraiment pas utiliser Visual Studio pour modifier des fichiers T-SQL, mais auparavant, avant de découvrir ce conseil , Chaque fichier SQL que j'avais ouvert s'ouvrait dans une nouvelle instance de SSMS. Essayez Cela:

  1. Ouvrir une solution contenant des fichiers SQL
  2. Cliquez avec le bouton droit sur un fichier SQL et sélectionnez «Ouvrir avec…».
  3. Cliquez sur "Ajouter"
  4. Accédez à "C:\Programmes\Microsoft SQL Server\100\Outils\Binn\VSShell\Common7\IDE\Ssms.exe" ou si vous exécutez Sous Windows x64 "C:\Program Files (x86 )\Microsoft SQL Serveur\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe ", puis cliquez sur" OK "
  5. Cliquez sur «Définir par défaut» puis sur «OK».

Maintenant, ouvrez plusieurs fichiers SQL. Chaque fois, vous obtiendrez une instance différente De SSMS ouverte. Quelle douleur!

Remarque: cet article entier s'applique à SQL 2005, remplacez simplement SSMS par SQLWB.

Comment résolvez-vous cela? Répétez les étapes 1 à 3 ci-dessus, mais à l'étape 4, entrez Les valeurs suivantes:

  • Nom du programme: “Explorer.exe”
  • Nom convivial: «Explorateur Windows»

Répétez l'étape 5 (définie par défaut) ci-dessus, puis cliquez sur OK. Maintenant, ouvrez Des fichiers supplémentaires. Ils doivent tous s'ouvrir dans la même instance de SSMS.

Il semblerait que Visual Studio envoie une commande à SSMS.exe qui Inclut le chemin du fichier sélectionné dans l'explorateur de solutions. Il appartient à De rechercher une nouvelle instance, ce qu’elle ne fait pas. Mais lorsque vous Transmettez le nom du fichier à Explorer, il s'ouvre dans la même instance.

QUIRK AVERTISSEMENT!

Si SSMS n'est pas déjà ouvert, le premier fichier que vous tentez d'ouvrir (et non la première fois, mais à chaque fois que vous ouvrez un fichier SQL à partir de Visual Studio et SSMS n'est pas encore ouvert) SSMS s’ouvrira, mais votre dossier ne ne le sera pas. Cliquez sur le fichier une deuxième fois et il l'ouvrira cette fois-ci. Ne me demandez pas de l'expliquer, c'est juste (et je ne sais pas pourquoi). Conclusion

Le résultat lorsque vous dites à Visual Studio que SSMS est l'éditeur par défaut Est logique, mais je ne comprends pas pourquoi ce serait différent lorsque vous dites à Explorer de l'ouvrir. Peut-être que si j'étais un développeur Windows au lieu d'un développeur Web , Je connaîtrais la réponse. Mais de toute façon, maintenant vous savez. Enjoy.

14
G21

J'ai déjà eu ce problème, j'ai trouvé une solution simple -> vérifiez si votre SSMS est sous l'option "Exécuter ce programme en tant qu'administrateur" (clic droit sur l'icône de raccourci -> propriété -> Compability -> Niveau de privilège). Si oui, décochez l'option et essayez de double-cliquer sur le fichier SQL.

J'espère que cela t'aides.

8
Xavier

Des problèmes similaires ont été signalés à plusieurs reprises, mais ils ne résolvent pas le problème:

http://connect.Microsoft.com/VisualStudio/feedback/details/105575/multiple-instances-of-sqlwb-exe-when-management-studio-set-as-default-editor

http://connect.Microsoft.com/SQLServer/feedback/details/622181/multiple-ssms-open-for-se-sperate-sql-files

http://connect.Microsoft.com/SQLServer/feedback/details/680761/a-new-instance-of-ssms-is-opened-when-trying-to-open-a-tsql-file-even- quand-une-instance-est en cours d'exécution

Avez-vous installé Visual Studio (ou des composants Visual Studio) after installation de SQL Server?

Mon hypothèse est que les éléments Connect ne seront pas corrigés - SQL accusera Visual Studio, Visual Studio accusera SQL et les éléments resteront ouverts ...

Voici donc ce que je suggère: lancez un repair de SQL Server à partir de Programmes et fonctionnalités, puis réappliquez le dernier service pack de SQL Server 2008 (SP2).

L'interface "Types de fichiers" a également été déplacée de l'interface Outils/Options des dossiers vers le Panneau de configuration. Allez dans Panneau de configuration> Programmes par défaut> "Associer un type de fichier ou un protocole à un programme." Cependant, il ne semble pas avoir les options ici pour ajouter des options de ligne de commande telles que "% 1" ou/dde.

2
Aaron Bertrand

Essayez d’ajouter ces clés de registre, mais assurez-vous de replacer le/dde dans:

[HKEY_CLASSES_ROOT\sqlwb.sql.9.0\Shell\Open\ddeexec]
@="Open(\"%1\")"

Pour mémoire, voici toute mon exportation pour cette section:

[HKEY_CLASSES_ROOT\sqlwb.sql.9.0\Shell\Open]

[HKEY_CLASSES_ROOT\sqlwb.sql.9.0\Shell\Open\Command]
@="\"C:\\Program Files (x86)\\Microsoft SQL Server\\100\\Tools\\Binn\\VSShell\\Common7\\IDE\\ssms.exe\" /dde"

[HKEY_CLASSES_ROOT\sqlwb.sql.9.0\Shell\Open\ddeexec]
@="Open(\"%1\")"

[HKEY_CLASSES_ROOT\sqlwb.sql.9.0\Shell\Open\ddeexec\application]
@="sqlwb.9.0"

[HKEY_CLASSES_ROOT\sqlwb.sql.9.0\Shell\Open\ddeexec\topic]
@="system"
1
Brian Rudolph

Allez à Outils >> Options des dossiers >> Types de fichiers et appliquez les paramètres ci-dessous. Cela a fonctionné pour moi enfin !!! (après une demi-journée de recherche sur google).

  1. Cliquez sur Nouveau/Modifier (dans cette fenêtre, cochez la case «Confirmer l'ouverture après le téléchargement» et décochez la case «Toujours afficher l'extension»).

  2. Dans la fenêtre suivante, faites les entrées ci-dessous

       - Action: Open
       - Application used to perform action : Your ssms.exe path like "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe"
       - Check "Use DDE" check box
       - DDE Message : Open("%1")
       - Applicajtion sqlwb.9.0
       - DDE Application Not Running: Keep it empty
       - Topic : system
    

    Cordialement, Sandeep Gaadhe

1
user3168424

J'utilise SQL Server Management Studio 2012 Express et cela a fonctionné en faisant pointer "Programme" sur "Explorer.exe".

Voici comment mon registre est configuré: "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\ssms.exe"/dde

à

HKEY_CLASSES_ROOT\ssms.sql.11.0\Shell\Open\Command

1
Marco Alves

SSMS 2005 et 2008 étant installé, je suis par défaut sur l’instance 2005. Si j'ai 2008 ssms ouvert lors de l'ouverture d'un fichier .sql à partir de Windows Explorer, il va maintenant s'ouvrir dans le ssms 2008 existant (et ne pas essayer d'ouvrir une nouvelle instance!)

0
coldsurfer

Depuis l'Explorateur Windows, il est possible de glisser-déposer des fichiers sélectionnés (un ou plusieurs) dans une fenêtre SSMS.

0
ko la

Une chose à vérifier est si vous avez plusieurs versions de SSMS. Si vous travaillez dans une version plus ancienne, double-cliquez sur un fichier pour ouvrir la nouvelle version de SSM. Ou quelle que soit la version par défaut pour les fichiers SQL.

0
Andy