论坛首页 综合技术论坛

SQLServer数据库按年度归档

浏览 1423 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2016-11-17  

/*
 维护计划每年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);

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics