ログ・ファイルに基づいてデータベースを指定した時点にリストア

1427 ワード

----------------------    --------------------------
/*
    :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