如果SSMS崩溃/未保存选项卡意外关闭,如何恢复未保存的脚本?
当前回答
把这个贴出来以防有人遇到同样的问题。
谷歌检索未保存的脚本,并找到了一个解决方案。
运行下面的选择脚本。它提供了一个脚本列表及其在过去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
其他回答
我使用的是Windows 8,在下面的路径中发现了缺失的脚本:
C:\Users\YourUsername\Documents\SQL Server Management Studio\Backup Files
对于SSMS 18(特别是18.6),我在这里找到了我的备份C:\Windows\SysWOW64\Visual Studio 2017\备份文件\解决方案1。
向Matthew Lock致敬,他给了我在整个机器上搜索的想法!
进入SSMS >> Tools >> Options >> Environment >> AutoRecover
有两种不同的设置:
1)每分钟保存一次自动恢复信息
该选项将在特定时间间隔保存SQL查询文件。将此选项设置为最小值以避免损失。如果您将这个值设置为5,在最坏的情况下,您可能会失去最后5分钟的工作。
2)保留自动恢复信息几天
此选项将自动恢复信息保留指定天数。不过,我建议万一发生意外,立即打开SQL Server Management Studio并恢复您的文件。不要把这项重要的任务拖到以后再做。
我使用免费的文件搜索程序Everything,搜索*。sql文件在我的C:驱动器,然后排序最后修改,然后浏览日期,我认为可能是最后执行。
它通常会从不同的位置调出大量的自动恢复文件。并且您不必担心最新版本的SSMS/VS将备份文件保存在该版本的哪里。
我知道这是一个旧线程,但对于任何希望在ssms崩溃后检索脚本的人来说,请执行以下操作
打开本地磁盘(C): 打开用户文件夹 找到与您的用户名相关的文件夹并打开它 点击Documents文件夹 单击Visual Studio文件夹或单击备份文件文件夹(如果可见) 单击备份文件文件夹 打开解决方案1文件夹 任何已恢复的临时 文件会在这里。文件将以vs结尾,后面跟着一个数字 例如vs9E61 打开文件并检查丢失的代码。 希望这能有所帮助。这些步骤对我很有效。我正在使用Sql 服务器Express 2017
ex:
C:\Users\[YourUsername]\Documents\Visual Studio [version]\Backup Files\Solution1
推荐文章
- 如何在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
- 货币应该使用哪种数据类型?