DATETIME SELECT SELECT INTO DATE PAD STRING DYNAMIC SQL CURSOR MONEY FORMAT PERCENT STORED PROCEDURE SQL SERVER AGENT JOB OPTIMIZATION WHILE LOOP OVER PARTITION BY UPDATE
SITE SEARCH SQLUSA.com HEADLINES NEWS
SQL E/BOOKS   SQL 2014 PROGRAMMING   DOWNLOADS
SCRIPTS SQL 2005 SQL 2008 ARTICLES
SQL JOBS TWITTER FORMAT VIDEOS
How to rename a backup file with date suffix?

Execute the following T-SQL example scripts in Microsoft SQL Server Management Studio Query Editor to demonstrate the renaming of database backup file with timestamp (datestamp, datetime stamp).

The last script shows how to include the datetimestamp in the filename at command execution time.

-- SQL dynamic command shell execution
DECLARE  @Command NVARCHAR(512)
DECLARE  @DateSuffix CHAR(8)
SELECT @DateSuffix = convert(CHAR,GETDATE(),112)
SELECT @Command = 'ren \\114.212.116.112\D$\data\backup\MYDB1\MYDB1.BAK ' +
                  'MYDB1' + @DateSuffix + '.BAK'
PRINT @Command
-- ren \\114.212.116.112\D$\data\backup\MYDB1\MYDB1.BAK MYDB120090322.BAK
 
EXEC MASTER.dbo.xp_cmdshell
  @Command
 
SELECT @Command = 'move \\114.212.116.112\D$\data\backup\MYDB1\' + 'MYDB1'
                  + @DateSuffix + '.BAK' + ' ' + '\\114.212.116.112\D$\data\backup\MYDB1\archive'
PRINT @Command
/*
  move \\114.212.116.112\D$\data\backup\MYDB1\MYDB120090322.BAK 
         \\114.212.116.112\D$\data\backup\MYDB1\archive
*/
EXEC MASTER.dbo.xp_cmdshell @Command
GO
 
-- SQL database backup with datetime stamp in backup file name
-- SQL database backup with dynamic backup file name
USE MASTER;
DECLARE  @FileName NVARCHAR(1024)
SET @FileName = 'F:\data\AdventureWorks2008\backup\AW2008_' +
                 REPLACE(REPLACE(CONVERT(VARCHAR(100),GETDATE(),111),'/','_'),
                                             ' ','_') + '.BAK'
 
SET @FileName = REPLACE(@FileName,'__','_')
PRINT @FileName
-- F:\data\AdventureWorks2008\backup\AW2008_2009_03_22.BAK
 
BACKUP DATABASE AdventureWorks2008 TO  DISK = @FileName WITH NOFORMAT,
INIT,  NAME = N'AdventureWorks2008-Full Database Backup'

GO
------------

-- Database backup with date in backup file name

DECLARE @BackupDate CHAR(8), @Backup nvarchar(1024)

SET @BackupDate = CONVERT(CHAR(8),CURRENT_TIMESTAMP,112)

SET @Backup = N'F:\data\backup\inventory' + @BackUPDate + '.bak'

BACKUP DATABASE Inventory TO DISK = @Backup

WITH INIT, NAME = N'Inventory Backup', STATS = 10

------------

Related link:

http://msdn.microsoft.com/en-us/library/ms175046.aspx

 

Exam Prep 70-461
Exam 70-461
DATETIME SELECT SELECT INTO DATE PAD STRING DYNAMIC SQL CURSOR MONEY FORMAT PERCENT STORED PROCEDURE SQL SERVER AGENT JOB OPTIMIZATION WHILE LOOP OVER PARTITION BY UPDATE