如何恢复多个备份

Gre*_*g B 7 sql-server-2008 sql-server backup restore

我正在使用ExpressMaint和 Windows 计划任务来创建一些 MS SQL Server 2008 R2 Express 数据库的每周完整和每日差异备份

每周满额

expressmaint -S (local)\SQLExpress -D ALL -T DB -R D:\Backup\Reports -RU WEEKS -RV 1 -B D:\Backup\Data -BU WEEKS -BV 4 -V -C
Run Code Online (Sandbox Code Playgroud)

每日差异

expressmain -S (local)\SQLExpress -D ALL -T DIF -R D:\Backup\Reports -RU WEEKS -RV 1 -B D:\Backup\Data -BU days -BV 7 -V -C
Run Code Online (Sandbox Code Playgroud)

当我将这些恢复到某个点时,我必须单独恢复每个备份。有没有什么办法可以连锁的一系列备份到一个单独的恢复将重新发挥正确的顺序?

当我尝试这个时,我收到错误

执行 Transact-SQL 语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo)


附加信息:

加载在“C:\Foo\Bar_FullBackup_20110130_2346.bak”上的媒体被格式化为支持 1 个媒体系列,但根据备份设备规范预计有 2 个媒体系列。RESTORE HEADERONLY 异常终止。(Microsoft SQL Server,错误:3231)

如需帮助,请单击:http : //go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600&EvtSrc=MSSQLServer&EvtID=3231&LinkId=20476

编辑

当您右键单击数据库时,我正在使用任务菜单中的还原对话框。从那里,我选择“从设备恢复”并添加我希望从中恢复的 .bak 文件。

如果我只添加一个 .bak 文件,我可以,如果我添加多个文件,我会收到上面的错误。

Eri*_*elp 10

使用 SSMS,您无法在一次操作中链接备份还原。您将不得不进行多次还原。您将需要使用 T-SQL 以提高效率。

--Restore the most recent full backup
RESTORE DATABASE <mydb>
FROM DISK = 'Path to full backup'
WITH NORECOVERY, STATS=10 --If only restoring the full, change to RECOVERY

--Restore the most recent diff backup
RESTORE DATABASE <mydb>
FROM DISK = 'Path to diff backup'
WITH RECOVERY, STATS=10
Run Code Online (Sandbox Code Playgroud)

有关 RESTORE 的更多信息:http : //msdn.microsoft.com/en-us/library/ms186858.aspx


小智 6

--恢复最近的完整备份

RESTORE DATABASE <DATABASE NAME>
FROM DISK = <Path to full backup>
WITH NO RECOVERY
Run Code Online (Sandbox Code Playgroud)

--恢复最近的差异备份

RESTORE DATABASE <DATABASE NAME>
FROM DISK = <Path to differential backup>
WITH NORECOVERY
Run Code Online (Sandbox Code Playgroud)

-- 恢复最近一次差异备份后的所有事务日志备份

RESTORE DATABASE <DATABASE NAME>
FROM DISK = <Path to first transactional log backup>
WITH NORECOVERY
Run Code Online (Sandbox Code Playgroud)

. . . . .

RESTORE DATABASE <DATABASE NAME>
FROM DISK = <Path to last transactional log backup>
WITH RECOVERY 
Run Code Online (Sandbox Code Playgroud)