SQL Management Studio无法双击打开脚本

时间:2009-11-13 01:28:30

标签: sql-server ssms

我习惯双击* .sql脚本文件在SQL Server Management Studio中打开它们。我最近升级到Win7,现在当我双击一个脚本文件时,SSMS打开一个空的环境。然后,我可以使用文件/打开或文件/最近的文件来打开我的脚本,但我更喜欢它只是打开我像正常应用程序那样双击的任何内容。

任何想法发生了什么?

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

8 个答案:

答案 0 :(得分:22)

我遇到了同样的问题。我不知道是什么造成的,但我用快速的注册表黑客修复了它。

  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"

答案 1 :(得分:8)

在我的情况下,需要修复的注册表项是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路径中的所有其他内容,大多数其他解决方案倾向于引用,原样很好。

screenshot of proper reg entry

答案 2 :(得分:5)

我尝试了上述所有想法(注册表条目等) - 没有运气。 最终为我修复的是:

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.

希望这会有所帮助:)

答案 3 :(得分:4)

对于SQL Server 2012,reg键是不同的:

HKEY_CLASSES_ROOT\ssms.sql.11.0

答案 4 :(得分:3)

它也在我的WinXP盒子上做到了......

我同意Josh Yeager,但我进入了控制面板>文件夹选项> “文件类型”选项卡并在那里完成。

  1. 向下滚动到SQL扩展程序
  2. 点击高级按钮
  3. 从“操作”框中选择“打开”
  4. 选择“编辑..”
  5. 有趣的是,我的“DDE MEssage”框中已经有一个“%1”,但它不在Regedit值中。单击“确定”更新所有更新的相应密钥,虽然这是很多点击,但这是一个更好的习惯,而不是在注册表中进行探索。肥胖的人会在注册表中遇到很多麻烦......(就是我,BTW :-D)

    哦,就像Herb Caudill指出的那样,“/ dde”需要在regkey中,但是再次使用Folder Options区域将处理相应的条目。

答案 5 :(得分:0)

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

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

通常,您始终将客户端工具与服务器安装的构建版本保持一致。

答案 6 :(得分:0)

Windows注册表编辑器版本5.00

[HKEY_CLASSES_ROOT \ sqlwb.sql.9.0 \壳牌]

[HKEY_CLASSES_ROOT \ sqlwb.sql.9.0 \壳牌\打开]

[HKEY_CLASSES_ROOT \ sqlwb.sql.9.0 \壳牌\打开\命令] @ =“\”c:\ Program Files \ Microsoft SQL Server \ 90 \ Tools \ Binn \ VSShell \ Common7 \ IDE \ sqlwb.exe \“/ dde”

[HKEY_CLASSES_ROOT \ sqlwb.sql.9.0 \壳牌\打开\ ddeexec] @ = “打开(\” %1 \ “)”

[HKEY_CLASSES_ROOT \ sqlwb.sql.9.0 \壳牌\打开\ ddeexec \应用] @ = “sqlwb.9.0”

[HKEY_CLASSES_ROOT \ sqlwb.sql.9.0 \壳牌\打开\ ddeexec \主题] @ = “系统”

答案 7 :(得分:0)

运行regedit并转到以下键:

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

HKEY_LOCAL_MACHINE \ SOFTWARE \类\ ssms.sql.12.0 \壳牌\打开\命令

编辑默认值以添加"%1"到最后。

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

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