Wednesday, February 13, 2008

T-SQL and DB tales

create database a
on
(
name = 'a_data',
filename = 'C:\a.mdf',
size = 2MB, --all default sizes are in MB
maxsize = 10MB, --Unlimited
filegrowth = 2
)
Log on
(
name = 'a_log',
filename = 'C:\a.ldf',
size = 1MB,
maxsize = 5,
filegrowth = 2
)



create database b
on
(
name = 'b_data',
filename = 'C:\b.mdf',
size = 2MB, --all default sizes are in MB
maxsize = 10MB,
filegrowth = 2
),
filegroup new
(
name = 'b_data2',
filename = 'C:\b.ndf',
size = 2MB, --all default sizes are in MB
maxsize = 10MB,
filegrowth = 2
)
Log on
(
name = 'b_log',
filename = 'C:\b.ldf',
size = 1MB,
maxsize = 5,
filegrowth = 2
)


backup database b to disk = 'C:\b.bak'

restore database c from disk = 'C:\b.bak'
with
move 'b_data' to 'C:\c.mdf',
move 'b_data2' to 'C:\c.ndf',
move 'b_log' to 'C:\c.ldf'

alter database c add filegroup new2

alter database c
add file
(
name = 'c_data3',
filename = 'C:\c3.ndf',
size = 2MB, --all default sizes are in MB
maxsize = 10MB,
filegrowth = 2
) to filegroup new2



backup database a to disk = 'c:\a.bak' with differential


restore database b from disk = 'c:\a.bak' with file = 1, norecovery,
move 'a_data' to 'D:\Data\b.mdf',
move 'a_log' to 'E:\Log\b.ldf'


restore database b from disk = 'c:\a.bak' with file = 2, norecovery,
move 'a_data' to 'D:\Data\b.mdf',
move 'a_log' to 'E:\Log\b.ldf'

restore database b with recovery