/*
维护计划每年2月1日执行
备份年度=当年年度-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);