Create a job to take back up of a single db or the entire database. below script could serve your purpose.

declare @filePath varchar(100) declare @fileName varchar(100) declare @location varchar(200)

SET @filePath = N'C:\MyWebsites'

SET @fileName = 'Northwind_' +

  • CONVERT(VARCHAR, GETDATE(), 112) + ' ' + CAST(DATEPART(HOUR, GETDATE()) AS VARCHAR) + N' ' + CAST(DATEPART(MINUTE, GETDATE()) AS VARCHAR) + N' ' + CAST(DATEPART(SECOND, GETDATE()) AS VARCHAR) + '.bak'

set @location = @filePath + @fileName BACKUP DATABASE [Northwind] TO DISK = @location with init, compression

If you want to take a complete back up of the entire database server or if you want to take multiple database backup then you can use cursor.

DECLARE @name VARCHAR(50) -- database name
DECLARE @path VARCHAR(256) -- path for backup files
DECLARE @fileName VARCHAR(256) -- filename for backup
DECLARE @fileDate VARCHAR(20) -- used for file name

-- specify database backup directory SET @path = 'C:\MyWebsites'

-- specify filename format SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)

DECLARE db_cursor CURSOR FOR SELECT name FROM master.dbo.sysdatabases WHERE name NOT IN ('master','model','msdb','tempdb') -- exclude these databases

OPEN db_cursor FETCH NEXT FROM db_cursor INTO @name

WHILE @@FETCH_STATUS = 0 BEGIN SET @fileName = @path + @name + '_' + @fileDate + '.BAK' BACKUP DATABASE @name TO DISK = @fileName WITH init, compression

FETCH NEXT FROM db_cursor INTO @name END

CLOSE db_cursor DEALLOCATE db_cursor