I have made an attempt at writing a backup script for one of my very small sql server express 2008 database. My requirements are to do a full backup every night, keep the last five backups. This is my attempt at writing one and would like to get feedback on whether i am doing it right? Thanks for your assistance.
declare @backupfilename nvarchar(100)
set @backupfilename='c:\...location..\filename_'+convert(varchar(10),getdate(),112) + '.bak'
BACKUP DATABASE [dbname] TO DISK = @backupfilename
WITH RETAINDAYS = 5, NOFORMAT, NOINIT, NAME = N'Full Database Backup Name', NOSKIP,
NOREWIND, NOUNLOAD, STATS = 10
GO
declare @backupSetId as int
select @backupSetId = position from msdb..backupset where database_name=N'dbname'
and backup_set_id=(select max (backup_set_id) from msdb..backupset where
database_name=N'dbname' )
if @backupSetId is null begin raiserror(N'Verify failed. Backup information for database
''dbname'' not found.', 16, 1) end
RESTORE VERIFYONLY FROM DISK =@backupfilename WITH FILE = @backupSetId, NOUNLOAD, NOREWIND
GO
I highly recommend Ola's backup stored procedures. They are well supported and extremely solid. If you don't feel comfortable using them you can at least look to them while you write your own routine.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With