Some snippets of sample code showing how to backup and restore from transaction logs.
– FULL BACK UP
BACKUP DATABASE [AdventureWorks]
TO DISK = N’H:\SQLServer2008_RC0\MSSQL10.MSSQLSERVER\MSSQL\Backup\AdventureWorks.bak’
WITH NOFORMAT, INIT, NAME = N’AdventureWorks-Full Database Backup’
, SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10
GO
declare @backupSetId as int
select @backupSetId = position
from msdb..backupset
where database_name=N’AdventureWorks’
and backup_set_id=(select max(backup_set_id)
from msdb..backupset
where database_name=N’AdventureWorks’ )
if @backupSetId is null
begin
raiserror(N’Verify failed. Backup information for database ”AdventureWorks” not found.’, 16, 1)
end
RESTORE VERIFYONLY FROM DISK = N’H:\SQLServer2008_RC0\MSSQL10.MSSQLSERVER\MSSQL\Backup\AdventureWorks.bak’
WITH FILE = @backupSetId, NOUNLOAD, NOREWIND
GO
– TRANSACTION LOG BACKUP
BACKUP LOG [AdventureWorks]
TO DISK = N’H:\SQLServer2008_RC0\MSSQL10.MSSQLSERVER\MSSQL\Backup\AdventureWorks.bak’
WITH NOFORMAT, NOINIT, NAME = N’AdventureWorks-Transaction Log Backup’, SKIP
, NOREWIND, NOUNLOAD, STATS = 10
GO
declare @backupSetId as int
select @backupSetId = position
from msdb..backupset
where database_name=N’AdventureWorks’
and backup_set_id=(select max(backup_set_id)
from msdb..backupset
where database_name=N’AdventureWorks’ )
if @backupSetId is null
begin
raiserror(N’Verify failed. Backup information for database ”AdventureWorks” not found.’, 16, 1)
end
RESTORE VERIFYONLY
FROM DISK = N’H:\SQLServer2008_RC0\MSSQL10.MSSQLSERVER\MSSQL\Backup\AdventureWorks.bak’
WITH FILE = @backupSetId, NOUNLOAD, NOREWIND
GO
– RESTORING FROM FULL, APPLYING TRANSACTION LOGS.
RESTORE DATABASE [AdventureWorks]
FROM DISK = N’H:\SQLServer2008_RC0\MSSQL10.MSSQLSERVER\MSSQL\Backup\AdventureWorks.bak’
WITH FILE = 1, NORECOVERY, NOUNLOAD, REPLACE, STATS = 10
GO
RESTORE LOG [AdventureWorks] FROM DISK = N’H:\SQLServer2008_RC0\MSSQL10.MSSQLSERVER\MSSQL\Backup\AdventureWorks.bak’
WITH FILE = 2, NOUNLOAD, STATS = 10
GO