管理工作室默认文件保存位置

72

打开一个新的查询窗口。编写一些SQL代码。保存脚本时,将打开"另存为"对话框 - 但总是以相同的默认位置在Profiles目录中打开。有没有办法设置我的默认文件位置?就像我在20世纪80年代使用的应用程序那样?

在工具|选项下,可以指定查询结果的默认位置。我需要同样的东西来处理新查询(文本编辑器)。尝试在注册表中更改位置,但SSMS会覆盖我的更改。有什么建议吗?

(我在http://www.eggheadcafe.com/software/aspnet/30098335/management-studio-default.aspx看到了这个未回答的问题,并且我也有完全相同的问题,所以我将其重新发布在此处)


在SSMS 2012中,查询结果的默认保存位置也用于保存SQL脚本。 - BlackICE
16个回答

77

这篇文章已经有五年的历史了,但是它没有提到SSMS版本,因此我想为SSMS 2012和SSMS 2014添加更新。第一步在不同的版本之间有所不同,其他步骤则相同:

SSMS 2012

  1. 找到 C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Extensions\Application

SSMS 2014

  1. 找到 C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\Extensions\Application

SSMS 2016

  1. 找到 C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Extensions\Application

SSMS 17

  1. 找到 C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Extensions\Application

SSMS 18

  1. 找到 C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Extensions\Application

所有版本(继续)

  1. 使用文本编辑器(例如记事本)打开ssms.application.pkgdef文件
  2. 更改 DefaultProjectsLocation 的值 "DefaultProjectsLocation"="$MyDocuments$\SQL Server Management Studio"
  3. 对于查询存储位置(查询本身,而不是结果),请编辑此内容: "DefaultUserFilesFolderRoot"="SQL Server Management Studio"
  4. 保存文件

感谢这篇文章的来源: http://www.networksteve.com/forum/topic.php/How_to_change_the_default_query_save_location_in_SSMS/?TopicId=41425&Posts=0


2
我正在使用SSMS 2012,所以其他的“答案”都不起作用。谢谢 :) - Dave Johnson
1
这也是 SSMS 2014 中唯一的非变通解决方案。 - DJ van Wyk
1
Sql 2016 安装路径为 C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\Extensions\Application。 - David Fawzy
1
@DavidFawzy,这应该是针对SSMS 2016的130版本,而不是120。 - influent
2
如果您的版本未在此列出,您可能只需要浏览所有文件夹120、130等,从最高编号开始向下工作,直到找到ssms.application.pkgdef文件。请查看\140、\130、\120等等。 - Ads
显示剩余4条评论

29

我知道这是一个老问题,但我找到了一篇链接,解释了如何正确地做到这一点,至少适用于SQL 2005。我认为它也适用于更高版本。

更改我的项目文件夹

设置存储在My Documents\SQL Server Management Studio\Settings文件夹中的.vssettings XML文件中。在更改此文件之前,请确保关闭SSMS:SSMS在关闭应用程序时写入它,并将覆盖您所做的任何更改。要更改My Projects文件夹,您需要查找此行:

   <PropertyValue name="ProjectsLocation">%vsspv_user_documents%\My
   Projects</PropertyValue>

这里的值是“我的项目”文件夹的位置。只需更改该值,下次打开SSMS时,“我的项目”文件夹就会被映射。

4
注意:尝试这个功能时,当我点击“保存”时,仍会跳转到默认的项目文件夹。但是在保存对话框左侧面板上点击“我的项目”按钮,可以将我希望保存脚本的文件夹打开。谢谢。 - Marshall

9
创建一个指向您所需保存位置的快捷方式是一种简单的解决方法。将快捷方式放置在SSMS\Projects目录中。保存时,在底部选择“所有文件( . )”,然后双击您的快捷方式即可。虽然不是理想的方式,但这是一个快速而简单的解决方法。

6

SSMS 18 / 19的安装位置已更改,控制默认文件保存位置的配置文件的位置也随之更改。

  1. 关闭所有正在运行的SSMS实例。

  2. 找到您的SSMS安装文件夹。默认情况下为:

  • C:\Program Files (x86)\Microsoft SQL Server Management Studio XX
  1. 在该文件夹中,进入:Common7\IDE\Extensions\Application

  2. 使用以管理员权限运行的文本编辑器打开ssms.Application.pkgdef

  3. DefaultProjectsLocation的值更改为您想要的新默认值:

  • "DefaultProjectsLocation"="C:\My\Preferred\Save\Location"
  1. 保存文件并重新启动SSMS。

6

为了确保,你在这里更新了注册表中的位置吗:

HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\90\Tools\Shell

HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\90\Tools\Shell\General\ProjectLocationEntries

谢谢!我也已经寻找这个很长时间了! - Ishmael
当我重新打开Studio时,它会重置那些寄存器项的值。 - JeremyWeir
是的,我现在也看到了(设置在重新启动时被覆盖),我会调查一下。 - edosoft

2

另一种方法可能是创建一个NTFS连接点。

获取Systinternals Suite的副本,您需要其中的junction.exe,其他内容也很有用。

在命令行中运行以下命令:

junction.exe "c:\MyStuff" "c:\Documents and Settings\Stephen.Turner\My Documents\SQL Server Management Studio"

您的“我的文档”路径放入其中。

将创建目录c:\MyStuff,当您浏览它时,您会看到所有文件。这不是副本,而是符号链接,两个路径都指向相同的文件。


2

我在这方面没有什么运气,我的解决方案是使用 .bat 文件创建一个新的 empty.sql 文件并打开它。然后在 SSMS 中,我使用“外部工具”来运行批处理文件。单击它,一个带时间戳的新 .sql 文件就会被打开。我为每个“项目”使用一个文件。

创建一个 .bat 文件

set fName=newQuery%date:~4,2%_%date:~7,2%_%date:~10,4%_%time:~1,1%_%time:~3,2%_%time:~6,2%.sql
copy _queryBlank.sql %fName%

2
作为解决方法,您可以在希望存储脚本的位置创建一个类型为 SQLServerScripts 的新项目。
然后,在解决方案资源管理器中,只需右键单击查询文件夹,即可在指定的位置创建新的脚本。
明白了吗?
有关 SQL Server 中项目和解决方案的更详细信息,请参见:

http://msdn.microsoft.com/en-us/library/ms173803.aspx

干杯,

2

1
这是与马歇尔在2011年回答的相同链接 :) - JeremyWeir

1

注册表更改对我没有用。我只是在Mgnt Studio默认保存路径中放了一个指向我想使用的网络文件夹的快捷方式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接