数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

[推荐]还原数据库的经典做法


发布日期:2024年06月23日
 
[推荐]还原数据库的经典做法

说明 所有的示例均假定已执行了完整数据库备份

A 还原完整数据库

说明 MyNwind 数据库仅供举例说明

下例显示还原完整数据库备份

RESTORE DATABASE MyNwind

FROM MyNwind_

B 还原完整数据库备份和差异备份

下例还原完整数据库备份后还原差异备份另外下例还说明如何还原媒体上的另一个备份集差异备份追加到包含完整数据库备份的备份设备上

RESTORE DATABASE MyNwind

FROM MyNwind_

WITH NORECOVERY

RESTORE DATABASE MyNwind

FROM MyNwind_

WITH FILE =

C 使用 RESTART 语法还原数据库

下例使用 RESTART 选项重新启动因服务器电源故障而中断的 RESTORE 操作

This database RESTORE halted prematurely due to power failure

RESTORE DATABASE MyNwind

FROM MyNwind_

Here is the RESTORE RESTART operation

RESTORE DATABASE MyNwind

FROM MyNwind_ WITH RESTART

D 还原数据库并移动文件

下例还原完整数据库和事务日志并将已还原的数据库移动到 C:\Program Files\Microsoft SQL Server\MSSQL\Data 目录下

RESTORE DATABASE MyNwind

FROM MyNwind_

WITH NORECOVERY

MOVE MyNwind TO c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewNwindmdf

MOVE MyNwindLog TO c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewNwindldf

RESTORE LOG MyNwind

FROM MyNwindLog

WITH RECOVERY

E 使用 BACKUP 和 RESTORE 创建数据库的复本

下例显示使用 BACKUP 和 RESTORE 语句创建 Northwind 数据库的复本MOVE 语句使数据和日志文件还原到指定的位置RESTORE FILELISTONLY 语句用于确定待还原数据库内的文件数及名称该数据库的新复本称为 TestDB有关更多信息请参见 RESTORE FILELISTONLY

BACKUP DATABASE Northwind

TO DISK = c:\Northwindbak

RESTORE FILELISTONLY

FROM DISK = c:\Northwindbak

RESTORE DATABASE TestDB

FROM DISK = c:\Northwindbak

WITH MOVE Northwind TO c:\test\testdbmdf

MOVE Northwind_log TO c:\test\testdbldf

GO

F 使用 STOPAT 语法还原到即时点和使用多个设备进行还原

下例将数据库还原到其在 日中午 点时的状态并显示涉及多个日志和多个备份设备的还原操作

RESTORE DATABASE MyNwind

FROM MyNwind_ MyNwind_

WITH NORECOVERY

RESTORE LOG MyNwind

FROM MyNwindLog

WITH NORECOVERY

RESTORE LOG MyNwind

FROM MyNwindLog

WITH RECOVERY STOPAT = Apr : AM

G 使用 TAPE 语法还原

下例显示从 TAPE 备份设备还原完整数据库备份

RESTORE DATABASE MyNwind

FROM TAPE = \\\tape

H 使用 FILE 和 FILEGROUP 语法还原

下例还原一个包含两个文件一个文件组和一个事务日志的数据库

RESTORE DATABASE MyNwind

FILE = MyNwind_data_

FILE = MyNwind_data_

FILEGROUP = new_customers

FROM MyNwind_

WITH NORECOVERY

Restore the log backup

RESTORE LOG MyNwind

FROM MyNwindLog

I 将事务日志还原到标记处

下例显示将事务日志还原到名为RoyaltyUpdate的标记处

BEGIN TRANSACTION RoyaltyUpdate

WITH MARK Update royalty values

GO

USE pubs

GO

UPDATE roysched

SET royalty = royalty *

WHERE title_id LIKE PC%

GO

COMMIT TRANSACTION RoyaltyUpdate

GO

Time passes Regular database

and log backups are taken

An error occurs

USE master

GO

RESTORE DATABASE pubs

FROM Pubs

WITH FILE = NORECOVERY

GO

RESTORE LOG pubs

FROM Pubs

WITH FILE =

STOPATMARK = RoyaltyUpdate

上一篇:数据挖掘技术与应用

下一篇:数据库查询处理器的特性