SQL Server databases are archived by year

/*
 Maintenance plan to perform backup year on February 1st of each
 year = current year-2
*/
declare @termYear varchar(4);
declare @bakSql varchar(1000);
declare @fromBase varchar(20);
declare @toBase varchar(20) ;
set @termYear = CONVERT(NUMERIC(4),(CONVERT(varchar(4), GETDATE(), 120))) - 2;
--SELECT @termYear;
set @fromBase = 'dbname';
set @toBase = @ fromBase + @termYear;

set @bakSql = 'create database ' + @toBase + ';
Backup Database ' + @fromBase + ' To DISK = ''D:\dbbak\' + @toBase + '.bak''
RESTORE DATABASE ' + @toBase + '
 FROM DISK = ''D:\dbbak\' + @toBase + '.bak''
 WITH REPLACE,
 MOVE ''' + @fromBase + ''' TO ''D:\dbbak\' + @toBase + '.mdf'',
 MOVE ''' + @fromBase + '_log'' TO ''D:\dbbak\' + @toBase + '.ldf'';'
exec (@bakSql);

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326529487&siteId=291194637
Recommended