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


当前回答

使用下面的位置可以找到所有的~AutoRecover.~vs . *。SQL(自动恢复文件):

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

其他回答

SSMSBoost插件(目前免费)

跟踪所有执行的语句(将它们保存在磁盘上) regular保存SQL Editor内容的快照。保留脚本修改的历史记录。有时“最好”的版本并不是最后的版本,您希望恢复中间状态。 跟踪打开的选项卡,并允许重新启动后恢复它们。未保存的选项卡也会恢复。

+大量其他功能。 (我是外接程序的开发者)

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

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

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

进入SSMS >> Tools >> Options >> Environment >> AutoRecover

有两种不同的设置:

1)每分钟保存一次自动恢复信息

该选项将在特定时间间隔保存SQL查询文件。将此选项设置为最小值以避免损失。如果您将这个值设置为5,在最坏的情况下,您可能会失去最后5分钟的工作。

2)保留自动恢复信息几天

此选项将自动恢复信息保留指定天数。不过,我建议万一发生意外,立即打开SQL Server Management Studio并恢复您的文件。不要把这项重要的任务拖到以后再做。

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

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

对于SSMS 17,它被用于:

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

把这个贴出来以防有人遇到同样的问题。

谷歌检索未保存的脚本,并找到了一个解决方案。

运行下面的选择脚本。它提供了一个脚本列表及其在过去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