因此,我每天执行一次完整数据库备份(午夜),并每小时备份一次事务日志。所有备份都在每个数据库的单独文件中完成,并带有时间戳。
现在假设我想将数据库恢复到某一天的下午 3 点,我会使用 Management Studio 恢复当天的完整数据库(使用 NORECOVERY),然后逐个恢复事务日志。现在这个过程很繁琐,因为我需要一次打开浏览多个文件。有没有更好的方法?我一开始备份到多个文件的做法正确吗?
谢谢
答案1
这是正确的过程。您可以在 SSMS 中执行此操作,也可以创建一个 SQL 脚本,使用 RESTORE DATABASE 和 RESTORE LOG 语句执行所有这些操作。
想象一下,如果您每 10 分钟备份一次日志,您的文件数将从 15 个增加到 90 个(加上完整文件)。
您可以使用 msdb 数据库中的数据生成 RESTORE LOG 脚本。查看以备份开头的表。
答案2
浏览要恢复的文件时可以选择多个文件吗?只需按住 Shift 键并单击或按住 CTRL 键并单击文件即可选择多个。
答案3
如上所述,下面是一些 TSQL
RESTORE DATABASE Documents
FROM DISK = 'f:\Documents.bak'
WITH NORECOVERY;
RESTORE LOG Documents
FROM DISK = 'f:\Documents35.trn'
WITH NORECOVERY;