web-dev-qa-db-ja.com

1つのssmsインスタンスのみで複数の.sqlファイルを開く方法

私は、SQL Server 2008とSQL Server Management StudioがインストールされたWindows Server 2008 Enterprise SP1を実行している新しいサーバーボックスのDBAです。

以前のボックスで、多数の.sqlファイルを含むデータベースソリューションを使用してVisual Studioで作業しているときに、.sqlファイルをダブルクリックして、同じSSMSインスタンスで開いていました(既に開いている場合)。ただし、(新しいボックスにまったく同じインストールがある場合でも)各sqlファイルをダブルクリックすると、新しいSSMSインスタンスが取得されます。本当に痛い1つの.sql-1つのSSMSインスタンスなので、私はそれについての研究を始めました。

私が今までに試したこと:

1).sqlファイルを右クリック> [アプリケーションから開く]オプション> [追加]オプション> [プログラム名:C:\ Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe "および" Friendly Name:SQL ">" Ok ">" Set as Default "。動作しません。まだ1つのSQL-1つのssmsインスタンスがあります。

2)Perfomed Run> regedit>およびHKEY_CLASSES_ROOT\sqlwb.sql.9.0\Shell\Open\Commandの値のデータを変更し、/ ddeを "%1"に置き換えます。動作しません

3).sqlファイルを右クリック> [プログラムから開く]オプション> [追加]オプション> [プログラム名:Explorer.exe]および[フレンドリ名:エクスプローラ]> [OK]> [デフォルトとして設定]動作しません。 .sqlファイルをダブルクリックすると、メモ帳にスクリプトコンテンツが付属しています。

4)このようないくつかのページ

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

ファイルの関連付けを変更するように求められますが、Windowsエクスプローラー>ツール>フォルダーオプションを開くと、「ファイルタイプ」タブがないことがわかりました。なんてうるさい!

誰かが私を助けてくれますか?私の患者は本当に枯渇しています。

前もって感謝します

26
George_21

私の仕事のほとんどを解決策を探して過ごした後、私は最終的にそれを見つけました。神のおかげで、私はこの問題がほぼなくなりかけていました。それが他の誰かを助けることを願っています!!!。

更新:リンクされたドメインの有効期限が切れたため、次のように表示されます。

SQL Server Management Studio(SSMS)を使用してSQLファイルを開くようにVisual Studioに指示する場合、Microsoftツールの統合が通常どのように行われるかを考えるとイライラします。 Visual Studioを使用してT-SQLファイルを編集することは本当に嫌いですが、以前は、このヒントを発見する前に、開いた各SQLファイルがSSMSの新しいインスタンスで開かれていました。それを試してみてください:

  1. SQLファイルを含むソリューションを開く
  2. SQLファイルを右クリックして、「アプリケーションから開く...」を選択します。
  3. 「追加」をクリックします
  4. 「C:\ Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe」を参照するか、x64 Windowsを実行している場合は「C:\ Program Files(x86)\ Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe」、「OK」をクリック
  5. 「デフォルトに設定」をクリックし、「OK」をクリックします

次に、複数のSQLファイルを開きます。 SSMSの異なるインスタンスが開かれるたびに。なんて痛い!

注:この記事全体はSQL 2005に適用され、SSMSをSQLWBに置き換えるだけです。

これをどのように解決しますか?上記の手順1〜3を繰り返しますが、手順4で次の値を入力します。

  • プログラム名:「Explorer.exe」
  • フレンドリ名:「Windowsエクスプローラ」

上記の手順5を繰り返し(デフ​​ォルトとして設定)、[OK]をクリックします。次に、追加のファイルを開きます。これらはすべて、SSMSの同じインスタンスで開く必要があります。

Visual Studioは、ソリューションエクスプローラーで選択されたファイルのパスを含むコマンドをSSMS.exeに発行するようです。新しいインスタンスをチェックするのはSSMSですが、チェックしません。ただし、ファイル名をエクスプローラに渡すと、同じインスタンスで開かれます。

クイック警告!

SSMSがまだ開いていない場合、最初に開こうとしたファイル(初めてではなく、Visual StudioからSQLファイルを開き、SSMSがまだ開いていない場合)SSMSは開きますが、ファイルは開きません。ファイルを2回クリックすると、今度はファイルが開きます。それを説明するように私に求めないでください(そして、私はその理由がわかりません)。結論

SSMSが既定のエディターであるとVisual Studioに指示したときの結果は理にかなっていますが、エクスプローラーにそれを開くように指示すると、なぜ異なるのかわかりません。たぶん、私がWeb開発者ではなくWindows開発者だったら、答えを知っているでしょう。しかし、いずれにしても、あなたは知っています。楽しい。

17
G21

私は以前にこの問題を抱えていましたが、簡単な解決策があることがわかりました-> SSMSが「管理者としてこのプログラムを実行する」オプション(ショートカットアイコンを右クリック->プロパティ->互換性->特権レベル)にあるかどうかを確認してください。はいの場合は、オプションの選択を解除し、sqlファイルをダブルクリックしてみてください。

お役に立てれば。

10
Xavier

同様の問題が複数回報告されていますが、それらは問題を解決していません。

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-seperate-sql-files

http://connect.Microsoft.com/SQLServer/feedback/details/680761/a-new-instance-of-ssms-is-opened-when-trying-to-open-a-tsql-file-いつでもインスタンスが実行中

Visual Studio(または任意のVisual Studioコンポーネント)をインストールしましたかafter SQL Serverをインストールしましたか?

私の推測では、接続アイテムは修正されません-SQLはVisual Studioのせい、Visual StudioはSQLのせい、アイテムは開いたままになります...

プログラムと機能からSQL Serverのrepairを実行し、SQL Server 2008(SP2)の最新のサービスパックを再適用します。

また、「ファイルタイプ」インターフェースは、「ツール/フォルダオプション」インターフェースからコントロールパネルに移動されました。 [コントロールパネル]> [既定のプログラム]> [ファイルの種類またはプロトコルをプログラムに関連付ける]に移動します。ただし、 "%1"や/ ddeなどのコマンドラインオプションを追加するオプションはここにはないようです。

2
Aaron Bertrand

これらのregキーも追加してみてください。ただし、/ ddeを元に戻してください。

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

参考までに、ここにそのセクションのエクスポート全体を示します。

[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

[ツール] >> [フォルダオプション] >> [ファイルタイプ]に移動し、以下の設定を適用します。やっとうまくいきました!!! (Googleで半日検索した後)。

  1. [新規/編集]をクリックします(このウィンドウでは、[ダウンロード後に開くことを確認する]をオンにし、[常に拡張子を表示する]をオフにする必要があります)。

  2. 次のウィンドウで、以下のエントリを作成します

       - 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
    

    よろしく、Sandeep Gaadhe

1
user3168424

SQL Server Management Studio 2012 Expressを使用していて、「プログラム」を「Explorer.exe」にポイントすることでこれを機能させました

これが私のレジスタの設定方法です: "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

2005および2008 SSMSをインストールしたので、デフォルトで2005インスタンスに設定しました。 Windowsエクスプローラーから.sqlファイルを開くときに2008 ssmsを開いている場合、既存の2008 ssmsで開きます(新しいインスタンスを開かないでください!)

0
coldsurfer

Windowsエクスプローラから、選択したファイル(単一または複数)をSSMSウィンドウにドラッグアンドドロップできます。

0
ko la

確認する必要があるのは、SSMSのバージョンが複数あるかどうかです。古いバージョンで作業している場合は、ファイルをダブルクリックすると、新しいSSMバージョンが開きます。または、SQLファイルのデフォルトバージョンは何でもかまいません。

0
Andy