实现自动备份、上传数据库

为了实现数据库的自动备份和上传,特意写了以下脚本,可以加在作业里。

要求:1.自动生成以当天日期为名的文件夹。并将目标数据库备份在文件夹里

           2.将备份数据库上传到备用服务器里。 

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 ''1000@hm.com'',''213@hm.com'',''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 ''1000@hm.com'',''213@hm.com'',''www'',''备份通知'','''+@strdate+'日数据库备份失败,请检查设置!'''
exec (@strsend)
end

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值