概要
これは新しい問題ではなく、インターネット上に浮かんでいる解決策がいくつかあります。
問題
.sql
ファイルをダブルクリックすると、SSMSの新しいインスタンスが開きます。新しいSQL Server Management Studio(SSMS 17.9.1)がインストールされるまで、この問題は発生しませんでした。
私が試したもの
"%1"
を追加しましたが、違いはありませんでした。回避策
はい、次の回避策について知っています。
.sql
ファイルをSSMSにドラッグ私は回避策を探していますではありません。
私の環境
新しいSSMS 17.9.1(ビルド:14.0.17289.0)でも、SQL Server 2016(13.0.5233.0)をまだ指しています。以前は、同じSQL Server(13.0.5233.0)で2016年6月のSSMS(ビルド:13.0.15000.23)を使用していました。
許可のため、私は管理者としてアプリケーションを実行していません。
SQL Serverのバージョンがリストされています ここ 。
SQL Server Management Studioのバージョンがリストされています ここ 。
17.9の代わりにSSMS 18をインストールした後、この問題が発生しました。次に、上記のリストの解決策を試しましたが、うまくいきませんでした。 SSMS 18をアンインストールして17.9を再度インストールしても機能しませんでした。 SSMS 18でこの問題を解決することができましたが、SSMS 17の不正な動作も修正されることを願っています。最初にSSMSをアンインストールし、次にレジストリを検索して、SSMSまたはsql_auto_fileに関する情報を含むすべての意味のあるノードを見つけて削除しました。次のノードを削除しました(削除する前に、それぞれのノードをバックアップすることを忘れないでください!):
次に、PCを再起動し、SSMS 18をインストールしてから、再起動しました。その後、SSMSは既存のSSMSインスタンスでSQLファイルを開き、エクスプローラーには正しいファイルアイコンが割り当てられます(小さいデータベースアイコンのドキュメント)。
Alexander Gの投稿が私を私の答えに導きました。
同じ問題があり、エクスプローラーから.sqlファイルをダブルクリックして開くと、既存のインスタンスではなく、SSMSの新しいインスタンスが開きます。これは、新しいラップトップにSQL/SSMSをまったく新しくインストールしたため、以前のバージョンとの競合が原因ではありませんでした。
ラップトップの私の標準ユーザーアカウントは管理者ではないため、SSMSは「管理者として実行」を使用してインストールされました。この方法で行うと、私のユーザーではなく、管理者のアカウントレジストリに正しいユーザー固有のレジストリ設定が読み込まれるようです。
問題の原因であると思われる間違った特定のエントリは次のとおりです。
管理者ユーザー用に作成した値に基づいて、ユーザーのHKEY_USERSハイブにこれらのエントリを手動で作成しました。これで、.sqlファイルがSSMSの既存のインスタンスで開きます。
(これはssms.sql15.0ではなく、sql_auto_fileへの関連付けに関係していると思います)
ようやくこの問題の解決策を見つけました。以下をHKCUレジストリに追加してください。うまくいけば、うまくいくはずです。
[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):
Management Studio(v 18.3.1)を閉じ、ファイルエクスプローラーで.sqlファイルをダブルクリックしてSSMSを開くことで、これを修正しました。それが開いた後、別の.sqlをダブルクリックして同じSSMSインスタンスで開き、別の.sqlをもう一度ダブルクリックして、同じSSMSインスタンスで開きました。
それが「修正」されたかどうかを確認するために、私はSSMSを閉じてから、SSMSを開きました。次に、2つの異なる.sqlファイルをダブルクリックし、それらは両方とも同じSSMSインスタンスで開きました。