我想使用备份文件夹中的备份文件恢复我的数据库。
SQL Server 在 Windows 上运行。
当我想要恢复时,我右键单击数据库并选择“恢复”,然后选择“设备”,SQL Server Management Studio 将打开一个弹出窗口以选择要恢复的文件。
备份的文件夹包含一个bak
文件和多个trn
文件。
我需要将它们全部选择才能完成恢复(我不能只选择一个bak
或一个trn
文件进行恢复)。
之后,我看到 SQL 生成的脚本,并且可以看到并非所有文件都.trn
包含在脚本中。
我的问题是 SQL Server 如何决定使用哪个 trn 文件,而不使用哪个?
Microsoft SQL Server 2016 (SP2-GDR) (KB4583460) - 13.0.5103.6 (X64)
Enterprise Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 19043: ) (Hypervisor)
Run Code Online (Sandbox Code Playgroud)
我的问题是 SQL Server 如何决定使用哪个 trn 文件,而不使用哪个?
这实际上不是您的问题,您的问题是“SSMS 如何决定使用或不使用哪些文件?”。我不确定您使用的是哪个版本的 SSMS,但已经有多个更新和修复 - 所以请使用最新版本的 SSMS...但也要注意它会安装,IMO 相当阴险,Azure Data Studio 以及它没有任何 GUI 方式来选择加入或选择退出(这是相当可耻的)。Erik C. Darling 先生对此有一篇很好的文章:
您可能感兴趣的一项修复示例:
修复了一个长期悬而未决的问题,即恢复计划无法找到恢复计划,或者在某些条件下会生成低效的恢复计划。
此外,为了回答您的实际问题,SSMS 对每个文件执行恢复文件列表和 headeronly,并尝试根据备份信息中的各种值制定恢复计划。
可能还有其他选项,例如评论中给出的选项(复制在下面的答案中)可能会做得更好。