Sql-Server

如何防止 SQL 文件打開 SSMS 17.9.1 的新實例?

  • May 12, 2021

概要

這不是一個新問題,網際網路上有幾種解決方案。

問題

點兩下.sql文件時,會打開一個新的 SSMS 實例。在安裝新的 SQL Server Management Studio (SSMS 17.9.1) 之前,我沒有遇到這個問題。

我試過的

  • 此頁面列出了建議更改系統資料庫和文件關聯以及重新安裝 SSMS 的幾種解決方案。沒有工作。
  • 這個與上一個連結幾乎相同。(所以比那些論壇好多了。)
  • 此處顯示了系統資料庫更改以及出色的螢幕截圖。我補充說"%1",但這沒有任何區別。
  • SO上提到的建議也不起作用。
  • DBA上,主要是在談論提升權限,而我的情況並非如此。

解決方法

是的,我知道這些解決方法:

  • Ctrl + O
  • .sql文件拖到 SSMS

不是在尋找解決方法。

我的環境

即使使用新的 SSMS 17.9.1(內部版本:14.0.17289.0),我仍然指向 SQL Server 2016(13.0.5233.0)。以前,我在 2016 年 6 月使用 SSMS(內部版本:13.0.15000.23)和相同的 SQL Server(13.0.5233.0)。

由於許可,我沒有以管理員身份執行任何應用程序。


SQL Server 版本在此處列出。

此處列出了 SQL Server Management Studio 版本。

我在安裝 SSMS 18 而不是 17.9 後遇到了這個問題。然後我嘗試了上面列表中的解決方案,但沒有一個奏效。解除安裝 SSMS 18 並再次安裝 17.9 也不起作用。我終於能夠用 SSMS 18 解決這個問題,但我希望它也能解決 SSMS 17 的錯誤行為。首先我解除安裝了 SSMS,然後我搜尋了系統資料庫以查找並刪除所有有意義的節點,這些節點包含有關 SSMS 或 sql_auto_file 的資訊。我刪除了以下節點(不要忘記在刪除之前備份每個節點!):

  • HKEY_CLASSES_ROOT.sql
  • HKEY_CLASSES_ROOT\Applications\Ssms.exe
  • HKEY_CLASSES_ROOT\sql_auto_file
  • HKEY_CURRENT_USER\Software\Microsoft\SQL Server Management Studio
  • 刪除了 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts 中 ssms 的所有記錄
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.sql
  • HKEY_USERS.DEFAULT\Software\Microsoft\SQL Server Management Studio

然後我重新啟動了我的電腦,然後安裝了 SSMS 18,然後再次重新啟動。之後 SSMS 在現有 SSMS 實例中打開 sql 文件,並且資源管理器分配了正確的文件圖示(帶有小數據庫圖示的文件)

Alexander G 的文章讓我得到了答案。

我遇到了同樣的問題,即通過點兩下從資源管理器中打開 .sql 文件會打開一個新的 SSMS 實例,而不是現有的打開實例。這是在新筆記型電腦上全新安裝的 SQL / SSMS,因此不是由與早期版本的衝突引起的。

我在筆記型電腦上的標準使用者帳戶不是管理員,因此 SSMS 是使用“以管理員身份執行”安裝的。這樣做似乎會在管理員的帳戶系統資料庫中填充正確的使用者特定系統資料庫設置,而不是我的。

似乎導致問題的錯誤的特定條目是:

  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.sql

我根據為管理員使用者創建的值在 HKEY_USERS 配置單元中為我的使用者手動創建了這些條目,現在我的 .sql 文件在現有的 SSMS 實例中打開。

(我認為這與 sql_auto_file 的關聯有關,而不是 ssms.sql15.0)

引用自:https://dba.stackexchange.com/questions/234564