【问题标题】:SQL Management Studio won't open scripts on double-clickSQL Management Studio 不会在双击时打开脚本
【发布时间】:2009-11-13 01:28:30
【问题描述】:

我习惯于双击 *.sql 脚本文件在 SQL Server Management Studio 中打开它们。我最近升级到 Win7,现在当我双击脚本文件时,SSMS 打开一个空环境。然后我可以使用 File/Open 或 File/Recent Files 打开我的脚本,但我更希望它像普通应用程序一样打开我双击的任何内容。

有什么想法吗?

顺便说一句,当我从 Visual Studio 的解决方案资源管理器中双击脚本时,它会自动打开它,就像您期望的那样。

【问题讨论】:

  • 我有 Windows 7 并且在 SQL Management Studio 尚未打开时看到与 Windows 7 相同的行为。当它已经打开时,sql文件正确打开。
  • @JoeRage - 谢谢,我查过了,我也是这样。
  • FWIW - 将脚本拖放到 SSMS 的快捷方式上会按预期打开它。

标签: sql-server ssms


【解决方案1】:

我遇到了同样的问题。我不知道是什么原因造成的,但我通过快速注册表破解修复了它。

  1. 转到 HKEY_CLASSES_ROOT\sqlwb.sql.9.0\Shell\Open\Command
  2. 编辑(默认)值
  3. 它应该包含如下内容:"c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\ssms.exe" /dde
  4. 在末尾添加"%1"
  5. 最终值将是这样的:"c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\ssms.exe" /dde "%1"

【讨论】:

  • FWIW:我不得不重新安装 SQL,这对我不起作用。把/dde 放回去让它再次工作。无法找出/dde 的用途。无论如何,这是可行的:"X:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\SqlWb.exe" /dde "%1"
  • 将 /dde 替换为 "%1" 将打开管理工作室和文件,但我也会收到错误消息:“将命令发送到程序时出现问题”。所以我像 Herb 提到的那样添加了 /dde 和“%1”,现在它完美运行了。
  • 太棒了!你到底是怎么开始想出这样的解决方案的?干得好。
【解决方案2】:

在我的情况下,需要修复的注册表项是 HKEY_CLASSES_ROOT\.sql

(默认)已更改为 sql_auto_file... 并且需要为 ssms.sql.12.0(对于 SSMS 2014)...大概是 SSMS 2012 的 ssms.sql.11.0。

大多数其他解决方案倾向于引用的 HKEY_CLASSES_ROOT\ssms.sql.12.0 路径中的所有其他内容都没有问题。

【讨论】:

  • 在 SQL Management Studio 2014 上与我相同:只需要更改 HKEY_CLASSES_ROOT\.sql 并保留其他值。我最初遇到的问题略有不同:sql 文件总是会启动一个新的 SSMS 窗口。
  • ssms.sql.13.0 下 HKEY_CLASSES_ROOT\.sql for studio 2016
【解决方案3】:

我尝试了上述所有想法(注册表项等)- 没有运气。 最终为我解决了这个问题:

1. close all SSMS instances.
2. right click on a .sql file and select "Open With..." > "Choose Default Program"
3. Select Notepad
4. Double click on the file - it should open in notepad.
5. close notepad.
6. right click the .sql file again and select "Open With..." > "Choose Default Program" 
7. Select "Sql Management Studio" again.
8. Click the .sql file it should open SSMS
9. Subsequent .sql files should open in the same instance.

希望这会有所帮助:)

【讨论】:

  • 没有帮助我。希望它有!
  • 答案之王,简单有效
  • 所有其他注册表黑客都不起作用。这几个简单的步骤就搞定了。
【解决方案4】:

对于 SQL Server 2012,reg 键不同:

HKEY_CLASSES_ROOT\ssms.sql.11.0

【讨论】:

  • 在 2012 年使用此路径遵循已接受的答案。
【解决方案5】:

在我的 WinXP 机器上也可以...

我同意 Josh Yeager 的观点,但我进入了控制面板 > 文件夹选项 > 文件类型选项卡并在那里进行了操作。

  1. 向下滚动到 SQL 扩展
  2. 点击高级按钮
  3. 从“操作”框中选择“打开”
  4. 选择“编辑..”

有趣的是,我的“DDE 消息”框中已经有一个“%1”,但它不在 Regedit 值中。从所有内容中单击“确定”会更新相应的键,虽然点击次数很多,但养成比在注册表中四处寻找更好的习惯。胖手指的人可能会在注册表中遇到很多麻烦......(那就是我,顺便说一句:-D)

哦,就像 Herb Caudill 指出的那样,“/dde”需要在 regkey 中,但同样,使用“文件夹选项”区域将处理适当的条目。

【讨论】:

  • 我在 Windows 7 中找不到这个 - 有“控制面板\所有控制面板项\默认程序\设置关联”,但任何地方都没有“高级”选项。
  • @Herb 我还不是 Win7 用户,所以无法确认,但这有帮助吗? superuser.com/questions/136133/….
  • 我在使用此修复程序后进行了观察。我的桌面上有一个 .SQL 文件的快捷方式,该文件位于文件服务器上的“我的文档”中。现在,当我双击它时,我收到一条警告,“在命令行上指定了以下文件:。找不到这些文件,将不会加载。”然后我在警告上单击“确定”,我看到 SSMS 和一个空白查询。然后我可以再次双击该快捷方式,它会在我已经打开的 SSMS 中打开。我可以在修复之前执行此操作,但从未收到警告消息。不知道这意味着什么,只是想分享一下。
【解决方案6】:

Windows 注册表编辑器 5.00 版

[HKEY_CLASSES_ROOT\sqlwb.sql.9.0\Shell]

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

[HKEY_CLASSES_ROOT\sqlwb.sql.9.0\Shell\Open\Command] @="\"c:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\sqlwb.exe\" /dde"

[HKEY_CLASSES_ROOT\sqlwb.sql.9.0\Shell\Open\ddeexec] @="打开(\"%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] @="系统"

【讨论】:

    【解决方案7】:

    您是否安装了最新的相关 SQL Server 服务包?

    SQL Server 2005 和 2008 需要在 Windows 7 上打补丁。This article 是关于 express 但应该应用相同的“修复”。每个新的 MS 操作系统都很常见。

    通常,您的客户端工具始终与您的服务器安装在同一版本中。

    【讨论】:

    • 谁否决了这个答案,你能解释一下原因吗?给回答者一个更改以修复答案。
    【解决方案8】:

    运行 regedit 并转到以下键:

    检查以确保您拥有正确的版本。就我而言,它是 12.0

    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ssms.sql.12.0\Shell\Open\Command

    编辑默认值以在末尾添加“%1”。

    该值现在应该如下所示:(修改路径名以匹配您电脑上的 ssms.exe 程序)

    "c:\Program Files\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\ssms.exe" /dde "%1"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-02
      • 1970-01-01
      • 1970-01-01
      • 2014-01-30
      • 2014-02-18
      • 1970-01-01
      • 2012-03-14
      • 2010-11-24
      相关资源
      最近更新 更多