方法1:
自己写了一段脚本,加在作业中,实现按照日期生成文件夹,并将目标数据库存储在其中,然后通过FTP上传到备用服务器上。
declare @strsql varchar(1000), --执行语句
@strdirname varchar(50),--建立文件夹名
@strcmd varchar(50), --执行命令名
@strsend varchar(1000), --邮件发送语句
@strdate varchar(50) --邮件发送日期
set @strsql='backup database pubs to disk=''d:\backup\erp\'
set @strdirname=replace(substring(convert(varchar(20),getdate(),120),1,10),'-','')
set @strcmd='md d:\backup\erp\'
set @strcmd=@strcmd+@strdirname
--取得当天日期,格式为yyyy-mm-dd
set @strdate=substring(convert(varchar(50),getdate(),120),1,10)
set @strsend='sys_sendmail ''
[email protected]'',''
[email protected]'',''www'',''备份通知'','''+@strdate+'日数据库备份成功,感谢您的使用!'''
exec xp_cmdshell @strcmd
set @strsql=@strsql+@strdirname+'\pubs.dat''with init,nounload,noskip,noformat'
print @strsql
exec (@strsql)
backup database pubs to disk='d:\backup\erp\pubs.dat' with init,nounload,noskip,noformat
--用FTP上传到ERP服务器
exec xp_cmdshell 'ftp -s:"D:\backup\erp\ftp.txt"'
--操作成功后发送邮件
exec(@strsend)
if @@error <> 0
begin
raiserror('数据库备份发生错误,请检查设置',16,1)
set @strsend='sys_sendmail ''
[email protected]'',''
[email protected]'',''www'',''备份通知'','''+@strdate+'日数据库备份失败,请检查设置!'''
exec (@strsend)
end
方法2
备份后还原
分离后附加
或者直接用DTS导出,注意选择扩展属性