簡體   English   中英

如何僅在一個 ssms 實例中打開多個.sql 文件

[英]How to open multiple .sql files in only one ssms instance

我是 DBA,有一個新的服務器盒,運行 Windows Server 2008 Enterprise SP1,SQL Server 2008 和 SQL Server Management Studio。

在我之前的框中,當在 Visual Studio 中使用包含大量 .sql 文件的數據庫解決方案時,我曾經雙擊 .sql 文件,它們在同一個 SSMS 實例中打開(如果已經打開的話)。 但是(即使在新框中具有完全相同的安裝)我現在在雙擊每個 sql 文件時得到一個新的 SSMS 實例。 它真的很痛苦。sql - 一個 SSMS 實例,所以我開始對此進行研究。

我到目前為止所嘗試的:

1) Right click on the.sql file > "Open With" option > "Add" option > "Program Name: C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe ”和“友好名稱:SQL”>“確定”>“設置為默認值”。 不工作。 仍然有一個 sql - 一個 ssms 實例。

2) 執行 Run > regedit > 並修改 HKEY_CLASSES_ROOT\sqlwb.sql.9.0\Shell\Open\Command 的值數據並將 /dde 替換為“%1”。 不工作

3)右鍵單擊.sql文件>“打開方式”選項>“添加”選項>“程序名稱:explorer.exe”和“友好名稱:資源管理器”>“確定”>“設置為默認值”。 不工作。 雙擊.sql文件的時候記事本自帶腳本內容。

4)有些頁面是這樣的

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

要求更改文件關聯,但打開 Windows Explorer > Tools > Folder Options... 我發現沒有“文件類型”選項卡。 多么煩人

有人可以幫我嗎? 我的病人,它真的快用完了。

提前致謝

在花了大部分工作日尋找解決方案后,我終於找到了它。 感謝上帝,我幾乎用完了這個問題。 希望它可以幫助別人!!!。

更新:鏈接的域已過期,所以它是這樣說的:

考慮到 Microsoft 工具通常是如何集成的,當您告訴 Visual Studio 使用 Sql Server Management Studio (SSMS) 打開 SQL 文件時,結果令人沮喪。 我真的不喜歡使用 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”,然后點擊“確定”
  5. 單擊“設置為默認值”,然后單擊“確定”

現在打開多個 SQL 文件。 每次您都會打開一個不同的 SSMS 實例。 多么痛苦!

注意:整篇文章適用於 SQL 2005,只需將 SSMS 替換為 SQLWB。

你如何解決這個問題? 重復上面的步驟 1-3,但在步驟 4 中輸入以下值:

  • 程序名稱:“explorer.exe”
  • 友好名稱:“Windows 資源管理器”

重復上面的第 5 步(設置為默認值),然后單擊“確定”。 現在,打開其他文件。 它們都應該在同一個 SSMS 實例中打開。

Visual Studio 似乎向 SSMS.exe 發出了一個命令,其中包含在解決方案資源管理器中選擇的文件的路徑。 由 SSMS 來檢查新實例,但它不會。 但是當您將文件名傳遞給資源管理器時,它會在同一個實例中打開。

怪癖警告!

如果 SSMS 尚未打開,則您嘗試打開的第一個文件(不是第一次,但每次從 Visual Studio 打開 SQL 文件並且 SSMS 尚未打開時)將打開 SSMS,但您的文件不會。 第二次單擊該文件,這次將打開該文件。 不要讓我解釋它只是(我不知道為什么)。 結論

當您告訴 Visual Studio SSMS 是默認編輯器時的結果是有道理的,但我不明白為什么當您告訴資源管理器打開它時會有所不同。 也許如果我是 Windows 開發人員而不是 Web 開發人員,我就會知道答案。 但不管怎樣,現在你知道了。 享受。

我以前遇到過這個問題,我發現有一個簡單的解決方案 -> 只需檢查您的 SSMS 是否在“以管理員身份運行此程序”選項下(右鍵單擊快捷方式圖標 -> 屬性 -> 兼容性 -> 權限級別)。 如果是,請取消選中該選項並嘗試雙擊 sql 文件。

希望這可以幫助。

類似的問題已被多次報告,但它們並沒有解決問題(刪除鏈接是因為微軟沒有多想就刪除了 Connect):

安裝 SQL Server是否安裝了 Visual Studio(或任何 Visual Studio 組件)?

我的猜測是 Connect 項目不會被修復——SQL 將歸咎於 Visual Studio,Visual Studio 將歸咎於 SQL,而這些項目將保持打開狀態......

所以這就是我的建議:從“程序和功能”運行 SQL Server修復,然后重新應用 SQL Server 2008 (SP2) 的最新服務包。

“文件類型”界面也從工具/文件夾選項界面移到了控制面板。 進入“控制面板”>“默認程序”>“將文件類型或協議與程序關聯”。 但是,這里似乎沒有選項可以添加諸如“%1”或 /dde 之類的命令行選項。

轉到工具>>文件夾選項>>文件類型並應用以下設置。 終於對我有用了!!! (在谷歌搜索半天后)。

  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

我正在使用 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

也嘗試添加這些 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"

我安裝了 2005 和 2008 SSMS,所以我默認使用 2005 實例。 如果我在從 Windows 資源管理器打開 .sql 文件時打開了 2008 ssms,它現在將在現有的 2008 ssms 中打開(而不是嘗試打開新實例!)

從 Windows 資源管理器中,可以將選定的文件(單個或多個)拖放到 SSMS 窗口中。

要檢查的一件事是您是否有多個版本的 SSMS。 如果您碰巧使用的是舊版本,雙擊文件將打開新的 SSM 版本。 或者無論 sql 文件的默認版本是什么。

對於希望始終以管理員權限打開 SSMS 的用戶的快速說明。

  • 在開始菜單中找到 SSMS。 Right-click>More>Open File Location
  • 在 Windows 資源管理器中看到 Microsoft SQL Server Management Studio * 的快捷方式后, Right-click>Open File Location
  • 然后Right-click on Ssms.exe>Troubleshoot compatibility
  • 然后click Troubleshoot program
  • 勾選The program requires additional permissions然后點擊Next
  • 現在它強制您按Test the program ....
  • 然后按Next然后按Yes, save these settings for this program

Arvo Bowen 20 年 1 月 30 日 15:27

這工作完美。

我知道這是一篇相當老的帖子,並且有很多不同的答案以及可能的解決方案。 但這是一個我認為是新的(至少對於 SO)。

我突然開始出現這種行為(即每個新文件都會在新會話中打開)並且不知道為什么。 原來這是因為在我的 SSMS session 中,我有一個開放的對話,它已經進入了后台。

關閉對話后,新文件開始在我原來的 session /facepalm 中打開

也許每個人都已經知道這一點,但以防萬一它可以節省任何人 20 分鍾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM