1. Set up script and backup database
2. Restore the database in point in time
3. Clean up database
Set up Script and backup database
CREATE
DATABASE Test
GO
ALTER
DATABASE Test
SET RECOVERY FULL
GO
USE Test
GO
CREATE
TABLE tblTable (ID INT)
GO
-- Taking full backup
BACKUP DATABASE [Test]
TO DISK = N'D:\Test.bak'
GO
INSERT INTO tblTable (ID)
VALUES (1)
GO
--
Selecting the data from tblTable
SELECT *
FROM tblTable
GO
INSERT INTO tblTable (ID)
VALUES (2)
GO
--
Taking log backup
BACKUP LOG Test] TO
DISK = N'D:\Test1.trn'
GO
INSERT INTO tblTable (ID)
VALUES (3)
GO
INSERT INTO tblTable (ID)
VALUES (4)
GO
BACKUP LOG [Test] TO
DISK = N'D:\Test2.trn'
GO
--
Selecting the data from tblTable
SELECT *
FROM tblTable
GO
-- Quick Delay before
Truncate
WAITFOR DELAY '00:00:01'
GO
TRUNCATE TABLE tblTable
GO
--
Quick Delay after Truncate
WAITFOR DELAY '00:00:01'
GO
-- Taking log backup
BACKUP LOG [Test] TO
DISK = N'D:\Test3.trn'
GO
-- Marking Time Stamp
SELECT GETDATE() CurrentTime;
-- Selecting the data
from tblTable
SELECT *
FROM tblTable
GO
USE MASTER
GO
Restore the database in point in time
--
Restoring Database
USE
[master]
GO
-- Taking tail log
BACKUP LOG [Test] TO
DISK = N'D:\Test5.trn'
WITH NORECOVERY
GO
-- Restore full backup
RESTORE DATABASE [Test]
FROM DISK = N'D:\Test.bak'
WITH
STANDBY = N'D:\Test.bak'
GO
--
Restore transaction backup
RESTORE LOG [Test]
FROM DISK = N'D:\Test1.trn'
WITH STANDBY = N'D:\Test11.trn'
GO
-- Selecting the data from tblTable
SELECT *
FROM Test.dbo.tblTable
GO
--
Restore transaction backup
RESTORE LOG [Test]
FROM DISK = N'D:\Test2.trn'
WITH STANDBY = N'D:\Test21.trn'
GO
-- Selecting the data from tblTable
SELECT *
FROM Test.dbo.tblTable
GO
-- Restore transaction
backup
RESTORE LOG [Test]
FROM DISK = N'D:\Test3.trn'
WITH STOPAT = '2011-12-21 11:12:18.797', --
Insert Your Time
STANDBY = N'D:\Test33.trn'
GO
-- Rolling database forward
RESTORE LOG [Test]
WITH RECOVERY
GO
-- Selecting the data
from TestTable
SELECT *
FROM Test.dbo.tblTest
GO
Clean up database
------------------------------------------------
-- Clean
up
------------------------------------------------
USE MASTER
GO
ALTER DATABASE [Test]
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
DROP DATABASE [Test]
GO