SQL syntax

This is a Script I would like to Run at Month END to create a special Backup with the Month and year in the file name.


USE [700];
GO
BACKUP DATABASE [700]
TO DISK = 'E:\DB\' & DATENAME(month, getdate()-5) & DATENAME(year, getdate()-5) &'.Bak'
   WITH FORMAT,
      MEDIANAME = 'E_SQLServerBackups',
      NAME = DATENAME(month, getdate()-5) &' End of Month';
GO

Open in new window

kwitcomAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
Daniel WilsonConnect With a Mentor Commented:
Change your & to + in your string concatenation.  

Otherwise ... I don't see any problem.
0
 
aaronakinConnect With a Mentor Commented:
Try this...

USE [700];
GO
DECLARE
      @FileName            VARCHAR(500),
      @BackupName            VARCHAR(500)

SELECT @FileName = 'E:\DB\'+ CAST(YEAR(GETDATE()) AS VARCHAR(4)) +'_'+ RIGHT('0'+CAST(MONTH(GETDATE()) AS VARCHAR(2)),2) +'.bak'
SELECT @BackupName = RIGHT('0'+CAST(MONTH(GETDATE()) AS VARCHAR(2)),2) +'/'+ CAST(YEAR(GETDATE()) AS VARCHAR(4)) +' End of Month'

BACKUP DATABASE [700]
TO DISK = @FileName
   WITH FORMAT,
      MEDIANAME = 'E_SQLServerBackups',
      NAME = @BackupName;
GO
0
All Courses

From novice to tech pro — start learning today.