如果SSMS崩溃/未保存的标签被意外关闭,如何恢复未保存的脚本?
答案 0 :(得分:383)
如果有人遇到同样的问题,请发布此邮件。
用Google搜索Retrieve unsaved Scripts并找到解决方案。
运行以下 select
脚本。它提供了过去24小时内的脚本列表及其执行时间。如果我们在不保存脚本的情况下关闭SQL Server管理工作室中的查询窗口,这将有助于检索脚本。它适用于所有已执行的脚本,不仅适用于视图或过程。
Use <database>
SELECT execquery.last_execution_time AS [Date Time], execsql.text AS [Script] FROM sys.dm_exec_query_stats AS execquery
CROSS APPLY sys.dm_exec_sql_text(execquery.sql_handle) AS execsql
ORDER BY execquery.last_execution_time DESC
答案 1 :(得分:153)
您可能能够在其中一个位置找到它们(具体取决于您使用的Windows版本)。
Windows XP
C:\Documents and Settings\YourUsername\My Documents\SQL Server Management Studio\Backup Files\
Windows Vista / 7/10
%USERPROFILE%\Documents\SQL Server Management Studio\Backup Files
OR
%USERPROFILE%\AppData\Local\Temp
答案 2 :(得分:32)
派对有点晚了,但之前提到的位置都没有对我有用 - 出于某种原因,备份/自动恢复文件保存在我的PC上的VS15文件夹下(这是针对SQL Server 2016 Management Studio)
C:\ Users \ YOURUSERNAME \ Documents \ Visual Studio 2015 \ Backup Files \ Solution1
您可能想要检查“工具 - 选项 - 环境 - 导入和导出设置”,设置文件的位置可能会指向您的备份文件夹 - 我永远不会在VS15文件夹下查找此内容。
答案 3 :(得分:30)
使用以下位置找到所有~AutoRecover.~vs*.sql
(自动恢复文件):
C:\Users\<YourUserName>\Documents\SQL Server Management Studio\Backup Files\Solution1
答案 4 :(得分:8)
也许您没有找到建议的目录或者您的恢复文件丢失了,感谢上帝我用未保存的脚本复制了崩溃并引导我到这个目录:
C:\ Users \ user \ OneDrive \ Documents \ Visual Studio 2015 \ Backup Files \ Solution1
所以,也许这可以节省你的一天:)
答案 5 :(得分:5)
我使用的是Windows 8,并在以下路径中找到了缺少的脚本:
C:\Users\YourUsername\Documents\SQL Server Management Studio\Backup Files
答案 6 :(得分:5)
SSMSBoost加载项(目前免费)
+吨其他功能。 (我是加载项的开发者)
答案 7 :(得分:3)
当您意外关闭SSMS窗口时,可以在此处找到文件
C:\Windows\System32\SQL Server Management Studio\Backup Files\Solution1
答案 8 :(得分:3)
我能够从以下位置恢复我的文件:
C:\Users\<yourusername>\Documents\SQL Server Management Studio\Backup Files\Solution1
每个标签应该有不同的恢复文件。我会说找你失去它们的日期的文件。
答案 9 :(得分:3)
转到SSMS&gt;&gt;工具&gt;&gt;选项&gt;&gt;环境&gt;&gt;自动恢复
有两种不同的设置:
1)每分钟保存一次自动恢复信息
此选项将以特定间隔保存SQL查询文件。将此选项设置为可能的最小值以避免丢失。如果您将此值设置为5,则在最糟糕的情况下,您可能会丢失最后5分钟的工作。
2)保留天数的自动恢复信息
此选项将保留指定日期的自动恢复信息。虽然,我建议在事故的情况下立即打开SQL Server Management Studio并恢复您的文件。不要为将来的日期拖延这项重要任务。
答案 10 :(得分:2)
我知道这是一个旧线程,但是对于那些希望在ssms崩溃后检索脚本的人,请执行以下操作
答案 11 :(得分:1)
对于SSMS 18,我在以下位置找到了文件:
C:\Users\YourUserName\Documents\Visual Studio 2017\Backup Files\Solution1
对于SSMS 17,它曾经位于:
C:\Users\YourUserName\Documents\Visual Studio 2015\Backup Files\Solution1
答案 12 :(得分:1)
我使用免费文件搜索程序Everything,在我的C:驱动器中搜索* .sql文件,然后按Last Modified排序,然后按我认为它最后执行的日期浏览。 / p>
通常会从多个位置调出自动恢复文件的负载。您不必担心最新版本的SSMS / VS会将备份文件保存到该版本。
答案 13 :(得分:0)
对于SSMS 18(特别是18.6),我在C:\Windows\SysWOW64\Visual Studio 2017\Backup Files\Solution1
上找到了我的备份。
马修·洛克(Matthew Lock)给我一个想法,那就是可以在我的整个机器上搜索!
答案 14 :(得分:0)
以上选项均无法帮助我恢复 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'