问题 是否有一个命令行选项,如devenv.exe / Edit for Sql Server Management Studio


我正在使用visual studio的外部工具在Sql Server Management Studio(SSMS)中打开.sql脚本。问题是,每次我使用外部工具命令从visual studio打开.sql文件时,它都会打开一个新的SSMS实例。

Visual Studio有一个switch / Edit可以执行此操作,是否有一个用于SQL Server Management Studio?


8891
2018-04-16 19:55


起源

这对SSMS 2016有什么改变吗? - TWilly


答案:


选择使用资源管理器[1]而不是SSMS打开文件。这样,系统将首先搜索任何现有的SSMS实例。

[1]%windir%\ explorer.exe


12
2018-05-15 08:42



这很有效,谢谢你的回应。 - TheEmirOfGroofunkistan
这就像您从Windows资源管理器中双击sql文件(或在“运行”框中键入路径)一样工作。工作完美,谢谢! - sliderhouserules
不幸的是,双击该文件为我打开了一个新的SSMS.exe实例。可能是因为我在XP(不是我的决定!)。所以,遗憾的是,这对我不起作用。 - jcollum
这也适用于在Enterprise Architect中指定DDL编辑器。谢谢! - Cᴏʀʏ


我认为问题不在于Visual Studio外部工具命令。查看SSMS命令行选项 - 可能有一种方法可以强制重用现有的SSMS实例。


1
2018-04-20 06:51



在我看来就像没有。 - jcollum


以下适用于我(虽然我是SQL Server 2008):

所以我真正的答案是使用 cmdow

编辑:经过更多测试后,我意识到以下几点: 首先打开连接的文件:(复制时删除任何输入,这是一个班轮)

"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\
Common7\IDE\Ssms.exe" "C:\Users\yordgeor\Desktop\Trigger.sql"
"C:\Users\yordgeor\Desktop\Trigger1.sql" -S ysg -d poc_dev -E -nosplash 

在这个例子中,它打开了两个文件(但你可以打开更少的文件;) 之后,无论我跑了多少次

cmdow /Run "C:\Users\yordgeor\Desktop\Trigger1.sql" 
cmdow /Run "C:\Users\yordgeor\Desktop\Trigger2.sql" 
cmdow /Run "C:\Users\yordgeor\Desktop\Trigger3.sql" 

它打开具有相同连接的Microsoft Sql Server Management Studio的相同实例

你可以在命令行中立即打开许多文件,但我问你要求更高的答案。

所以你可以通过以下方式找到Ssms.exe的路径: cd%ProgramFiles%

dir * ssms.exe / s / b

所以命令的语法是: pathToTheExe pathToFile1 pathToFile2 -S serverName -d DatabaseToConnectTo -E(toUseWindowsAuthentication)-nosplash

经过20秒的谷歌搜索,我被骗了 这里


1
2018-05-19 06:26





正确答案是否定的。 SSMS具有一组有限的选项,虽然它使用VS框架,但不支持edit命令。这可能是一个有趣的功能。

我假设您需要在SSMS中打开这些脚本以便能够运行它们,否则我建议将它们直接指向Visual Studio,因为它支持语法突出显示。但它不会解决您的问题。


0
2018-05-14 21:57





如果您将该文件扩展名与Visual Studio关联,那么VS应该打开它。

如果您发现VS每次都启动一个新实例,那么您需要指定/ edit命令行选项。

看一眼 http://stevedunns.blogspot.com/2009/03/programs-that-launch-or-should-launch.html 了解更多信息。


-3
2018-04-21 13:05



这是视觉工作室的cmd开关,但不适用于sql server管理工作室。看devenv.exe /?我正在寻找确切的功能,但对于SSMS。 - TheEmirOfGroofunkistan