--Creating the database for the demo
create database DemoDB
go
--Make sure that the database is in full recovery model
alter database DemoDB set recovery full
go
--Making the first full backup. From now on I can use log backups
backup database DemoDB to disk = 'c:\DemoDB_1.bak' with init
go
--Creating a new object in the database
use DemoDB
go
create table DemoTable (i int)
go
--backup the log
backup log DemoDB to disk = 'c:\DemoDB_1.trn' with init
go
--Inserting a record that doesn't exist in all the backups that were taken into the table
insert into DemoTable (i) values (1)
go
--Creating a second full backup. I won't be using this backup when I'll restore the database
backup database DemoDB to disk = 'c:\DemoDB_2.bak' with init
go
insert into DemoTable (i) values (2)
go
--Creating the second log backup that includes the second record in DemoTable
backup log DemoDB to disk = 'c:\DemoDB_2.trn' with init
go
--Dropping the table (to mimic an error)
drop table DemoTable
go
--Now I'll restore the database. I'll use only the first full backup
--with the 2 log backups. This proves that I don't need to use the
--copy_only switch, if I have a full backup with all log backups that
--were taken since then even if another full backup was taken between
--the log backups
use master
go
restore database DemoDB from disk = 'C:\DemoDB_1.bak' with norecovery, replace
restore log DemoDB from disk = 'c:\DemoDB_1.trn' with norecovery
restore log DemoDB from disk = 'c:\DemoDB_2.trn' with recovery
go
Use DemoDB
go
--Notice that I have the table with 2 records
select * from DemoTable
go
--cleanup
use master
go
drop database DemoDB
Showing posts with label full backup. Show all posts
Showing posts with label full backup. Show all posts
Thursday, October 1, 2009
Subscribe to:
Posts (Atom)