您的位置:首页 > 数据库

根据日志文件将数据库还原至指定的时间点

2011-12-28 21:44 411 查看
----------------------备份处理--------------------------
/*
数据库名:TestDB
按计划定期执行备份语句,1.备份日志,2.收缩日志,3.备份数据库
*/

Use [master]
go
BACKUP LOG [TestDB] TO  DISK = N'c:\testDB_Log.bak' WITH NOFORMAT, INIT,  NAME = N'TestDB-事务日志  备份',
SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

USE [TestDB]
GO
DBCC SHRINKFILE (N'TestDB_log' , 1)
GO
Use [master]
go
BACKUP DATABASE [TestDB] TO  DISK = N'c:\testDB_Data.bak' WITH NOFORMAT, INIT,  NAME = N'TestDB-完整 数据库 备份',
SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

-----------------------还原处理----------------------------
/*
步骤
1.备份TestDB的日志TestDB_LogNow.bak
2.还原testDB_Data.bak 为新的数据库名:TestDB2
3.还原日志TestDB_LogNow.bak 为指定的时间点
*/
Use [master]
go
BACKUP LOG [TestDB] TO  DISK = N'c:\testDB_LogNow.bak' WITH NOFORMAT, INIT,  NAME = N'TestDB-事务日志  备份',
SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

RESTORE DATABASE [TestDB2] FROM  DISK = N'C:\testDB_Data.bak' WITH  FILE = 1,
NORECOVERY,  NOUNLOAD,  REPLACE,  STATS = 10
GO

RESTORE LOG [TestDB2] FROM  DISK = N'C:\testDB_LogNow.bak' WITH  FILE = 1,  NOUNLOAD,  STATS = 10,
RECOVERY,STOPAT = N'2011-12-29T22:19:00'
GO
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: