如果SSMS崩溃/未保存选项卡意外关闭,如何恢复未保存的脚本?


当前回答

对于SSMS 18,我在以下位置找到了文件:

C:\Users\YourUserName\Documents\Visual Studio 2017\Backup Files\Solution1

对于SSMS 17,它被用于:

C:\Users\YourUserName\Documents\Visual Studio 2015\Backup Files\Solution1

其他回答

我能够从以下位置恢复我的文件:

C:\Users\<yourusername>\Documents\SQL Server Management Studio\Backup Files\Solution1

每个选项卡应该有不同的恢复文件。我建议你找找你丢失文件的日期。

我知道这是一个旧线程,但对于任何希望在ssms崩溃后检索脚本的人来说,请执行以下操作

打开本地磁盘(C): 打开用户文件夹 找到与您的用户名相关的文件夹并打开它 点击Documents文件夹 单击Visual Studio文件夹或单击备份文件文件夹(如果可见) 单击备份文件文件夹 打开解决方案1文件夹 任何已恢复的临时 文件会在这里。文件将以vs结尾,后面跟着一个数字 例如vs9E61 打开文件并检查丢失的代码。 希望这能有所帮助。这些步骤对我很有效。我正在使用Sql 服务器Express 2017

ex:

C:\Users\[YourUsername]\Documents\Visual Studio [version]\Backup Files\Solution1

对于SSMS 18(特别是18.6),我在这里找到了我的备份C:\Windows\SysWOW64\Visual Studio 2017\备份文件\解决方案1。

向Matthew Lock致敬,他给了我在整个机器上搜索的想法!

如果你碰巧有SSMS的RedGate工具,那么他们有一个非常有用的工具叫做标签历史,它会显示你所有打开和关闭的标签(甚至脚本,你写和关闭没有执行)。

在Toolkit工具栏上应该有一个按钮,看起来像这样,它会打开一个包含所有脚本列表的窗口(它也有一个搜索功能,所以你可以搜索你的脚本):

我知道这与大多数人无关,但它可能会帮助那些失去工作的人……

上面的选项都没有帮助我恢复4天前在远程机器上执行的查询,该查询的脚本文件由于公司重新启动而没有保存并丢失。

我最终在系统视图sys的帮助下恢复了我的查询。Query_store_query和sys.query_store_query_text。

SELECT t.query_sql_text 
FROM sys.query_store_query_text t
INNER JOIN sys.query_store_query q 
    ON t.query_text_id = q.query_text_id
WHERE  q.last_execution_time between '2021-06-30' and '2021-07-03'