如果SSMS崩溃/未保存选项卡意外关闭,如何恢复未保存的脚本?
当前回答
上面的选项都没有帮助我恢复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'
其他回答
您可以在这些位置之一找到它们(取决于您使用的Windows版本)。
Windows XP
C:\Documents and Settings\YourUsername\My Documents\SQL Server Management Studio\Backup Files\
Windows / 7/10角度来看
%USERPROFILE%\Documents\SQL Server Management Studio\Backup Files
OR
%USERPROFILE%\AppData\Local\Temp
谷歌搜索了这个来源和这个来源。
我使用免费的文件搜索程序Everything,搜索*。sql文件在我的C:驱动器,然后排序最后修改,然后浏览日期,我认为可能是最后执行。
它通常会从不同的位置调出大量的自动恢复文件。并且您不必担心最新版本的SSMS/VS将备份文件保存在该版本的哪里。
进入SSMS >> Tools >> Options >> Environment >> AutoRecover
有两种不同的设置:
1)每分钟保存一次自动恢复信息
该选项将在特定时间间隔保存SQL查询文件。将此选项设置为最小值以避免损失。如果您将这个值设置为5,在最坏的情况下,您可能会失去最后5分钟的工作。
2)保留自动恢复信息几天
此选项将自动恢复信息保留指定天数。不过,我建议万一发生意外,立即打开SQL Server Management Studio并恢复您的文件。不要把这项重要的任务拖到以后再做。
如果您仍然没有找到恢复文件夹,您可以尝试以下方法:
开放的地对地导弹。 在上面写一些查询。 等待一段时间,确保文件以静默方式保存。 打开任务管理器并终止SSMS应用程序。 重启地对地导弹。应该会提示您打开未保存的工作。 打开提议的文件并将鼠标悬停在文件选项卡上以查看其位置。
SSMSBoost插件(目前免费)
跟踪所有执行的语句(将它们保存在磁盘上) regular保存SQL Editor内容的快照。保留脚本修改的历史记录。有时“最好”的版本并不是最后的版本,您希望恢复中间状态。 跟踪打开的选项卡,并允许重新启动后恢复它们。未保存的选项卡也会恢复。
+大量其他功能。 (我是外接程序的开发者)
推荐文章
- 如何在Ruby On Rails中使用NuoDB手动执行SQL命令
- 查询JSON类型内的数组元素
- 确定记录是否存在的最快方法
- 获得PostgreSQL数据库中当前连接数的正确查询
- 在SQL选择语句Order By 1的目的是什么?
- 从现有模式生成表关系图(SQL Server)
- 我如何循环通过一组记录在SQL Server?
- 数据库和模式的区别
- 如何在SQL Server中一次更改多个列
- 如何从命令行通过mysql运行一个查询?
- 如何从SQL Server Management Studio的历史记录中删除“服务器名称”项
- 外键约束可能导致循环或多条级联路径?
- 使用LIMIT/OFFSET运行查询,还可以获得总行数
- 当恢复sql时,psql无效命令\N
- 货币应该使用哪种数据类型?