ChatGPT解决这个技术问题 Extra ChatGPT

Management Studio 默认文件保存位置

打开一个新的查询窗口。写一些SQL。保存脚本,将打开“将文件另存为”对话框 - 但始终位于 Profiles 目录中的相同默认位置。有没有办法设置我的默认文件位置? ...就像我过去使用 1980 年代的应用程序一样?

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

(我在 http://www.eggheadcafe.com/software/aspnet/30098335/management-studio-default.aspx 看到了这个未回答的问题,我也有同样的问题,所以我只是在这里重新发布)

在 SSMS 2012 中,查询结果的默认保存位置也用于保存 SQL 脚本

P
Phaser Phalanx

现在已经有 5 年历史了,但它没有提到 SSMS 版本,所以我想我会为 SSMS 2012 和 SSMS 2014 添加更新。第一步在版本之间有所不同,然后其余部分相同:

SSMS 2012

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

SSMS 2014

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

SSMS 2016

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

SSMS 17

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

SSMS 18

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

全部(续)

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

感谢此来源:http://www.networksteve.com/forum/topic.php/How_to_change_the_default_query_save_location_in_SSMS/?TopicId=41425&Posts=0


我在 SSMS 2012 上,所以其他“答案”都不起作用。谢谢 :)
这也是 SSMS 2014 的唯一非解决方案。
谢谢 D-Money 这也与 SQL 管理工作室 2016 合作
Sql 2016 位置 C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\Extensions\Application
如果您的版本未在此处列出,您可能只需要查看所有文件夹 120、130 等,从最高数字开始并向下工作,直到找到 ssms.application.pkgdef 文件。查看\140,然后 \130,然后 \120.. 等等等等。
k
katzbatz

我知道这是一个老问题,但我发现一个链接解释了如何正确执行此操作,至少对于 SQL 2005 而言。认为它也适用于更高版本。

Changing the my projects folder

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

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

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


注意:尝试此操作时,当我单击“保存”时,仍会获得原始默认项目文件夹。但是单击保存对话框左侧面板上的“我的项目”按钮会将我带到我希望保存脚本的文件夹。谢谢。
H
Hank

一个简单的解决方法是创建指向所需保存位置的快捷方式。将快捷方式放在 SSMS\Projects 目录中。保存时,选择底部的“所有文件(。)”,然后双击您的快捷方式。

不理想,但可以快速简单地解决。


e
edosoft

只是为了确保,您是否在此处更新了注册表中的位置:

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

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

谢谢!这个我也找了很久!
当我重新打开 Studio 时,它会重置这些 reg 项的值。
是的,我现在也看到了这一点(重新启动时覆盖的设置)我会调查的。
D
David Guerra

SSMS 18 的安装位置以及控制默认文件保存位置的配置文件的位置已更改。需要编辑的文件现在位于以下路径:

C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Extensions\Application\ssms.Application.pkgdef

关闭所有正在运行的 SSMS 18 实例。使用以管理员权限运行的文本编辑器打开 ssms.Application.pkgdef。将 DefaultProjectsLocation 的值更改为您希望的默认值: "DefaultProjectsLocation"="C:\My\Preferred\Save\Location" 保存文件并重新启动 SSMS。


J
John Sansom

作为一种解决方法,您可以在要存储脚本的位置创建 SQLServerScripts 类型的新项目。

然后在解决方案资源管理器中,只需右键单击查询文件夹即可在您指定的位置创建一个新脚本。

说得通?

有关 SQL Server 中的项目和解决方案的更多详细信息,请参阅:

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

干杯,


S
Stephen Turner

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

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

在命令行中运行它:

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

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

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


T
Tim Cooper

我对此没有任何运气,我的解决方案是使用 .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%

E
Echilon

在过去 3 小时搜索此主题后,我终于找到了这样做的方法:Changing the My Projects folder location (and other settings) in SSMS


这与马歇尔 2011 年的回答相同:)
t
td.

注册表更改对我不起作用。我只是在 Mgnt Studio 默认保存路径中放置了我想使用的网络文件夹的快捷方式。


B
Brock Adams

This post 显示了一种方式。

但是,它的基于注册表的解决方案仍然存在差距......当一个人保存新创建的查询时(在我的 SSMS 2008 设置中,我在启动时打开它),他必须单击左侧的“项目”,因为保存对话框打开在标准 ...\Documents\SQL Server Management Studio\Projects 中。


A
AS Mackay

帮助我的是编辑注册表和 DefaultFileOpenLocation 的值

HKEY_USERS\S-1-5-21-1428394981-1396028598-1721912238-1000\Software\Microsoft\SQL Server Management Studio\18.0_IsoShell

Registry Editor screen shot:


我搜索了 18.0_IsoShell 并将此级别的所有引用“%USERPROFILE%\My Documents\”的内容更改为我的“%USERPROFILE%\OneDrive\My Documents”文件夹。为什么微软让这变得如此难以改变?我不应该运行 regedit 来解决这个问题!
R
Rafet

在对象资源管理器中,右键单击您的服务器并单击属性。在该属性页面的左侧面板中,单击数据库设置选项卡。在数据库默认位置中,查看新数据文件和新日志文件的当前默认位置。要更改默认位置,请在数据或日志字段中输入新的默认路径名,或单击浏览按钮查找并选择路径名。

注意:更改默认位置后,您必须停止并启动 SQL Server 服务才能完成更改。


M
Michael Schwab

一个低技术但快速的解决方案是简单地在默认文件夹中创建一个快捷方式,指向您要保存脚本/结果/等的文件夹。这是一个额外的点击,但不会弄乱设置或注册表。


呃,刚刚看到这个解决方案已经在上面发布了。很抱歉受骗。
P
Pascal Veilleux

对我来说最简单的解决方案是更改注册表中的文件夹(使用 SQL Server 2014 测试)

确保之前关闭 SQL Server Management Studio

启动 regedit.exe 浏览到 Computer\HKEY_CURRENT_USER\Software\Microsoft\SQL Server Management Studio\xx.0(其中 xx 是您的版本) 更改您在其中看到的不同位置路径 启动 Management Studio 并尝试打开一个文件,默认目录将是你的

但是,我仍然存在的唯一问题是 Save...在左侧,您将直接进入您的目录。

https://i.stack.imgur.com/9VGew.png


d
dabend

您可以使用 mklink 创建符号链接。

删除现有项目文件夹(首先将现有文件复制到首选位置):rmdir "C:\Users\user\Documents\SQL Server Management Studio\SSMS Projects)。创建指向首选位置的符号链接(例如 onedrive 文件夹):mklink / j "C:\Users\user\Documents\SQL Server Management Studio\SSMS Projects" "C:\Users\user\OneDrive - Company\SSMS Projects"

/j 选项指定一个硬链接,使它看起来好像文件或文件夹实际存在于该位置。当您尝试在 SSMS 中打开文件时,文件夹现在应如下所示:

Example Hard Link In SSMS