服务器sql自动备份ftp,SQL2008定时备份数据库并上传到FTP

首先新建数据库维护计划,定时执行数据库备份,打开数据库管理器——>管理——>维护计划——右键新建维护计划向导——>计划更改——>选择执行时间。

9558e52e505e42438733397da5b959a7.png

选择维护任务:备份数据库

fab6c70201342cc5627d70bc978ac4dc.png

选择要备份的数据库,可选数据库备份目录,备份报告。

49d74a407b9690ec8002cbecf8344880.png

维护计划添加完成。

6ce2fcf234e47b6f651d6819f1aa3b02.png

FTP上传脚本,由于windows下ftp命令不支持被动模式,此脚本使用curl命令上传到FTP。set sqlpath=d:\back #备份目录

set dbname=onovps #备份数据库名称,例onovps.bak

set ftphost=www.haiyun.me #FTP服务器地址

set ftpuser=ftp #FTP用户

set ftppasswd=passwd #FTP密码

path=%path%;C:\Program Files\WinRAR\;C:\Program Files\curl\ #设置环境变量

cd %sqlpath%

Rar.exe a "%dbname%"-"%date:~0,10%".rar -df "%dbname%".bak

curl -u %ftpuser%:%ftppasswd% -T %dbname%-"%date:~0,10%".rar ftp://%ftphost%

然后将此脚本添加到计划任务,定时每天执行。

更新:

经过调试发现问题有点多哦,首先维护计划未成功执行,错误日记:SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 'WIN-KC19Q4LEIOD\Administrator' 的信息,错误代码 0x534。

解决:原来之前有更改过计算机名称,更改SQL管理器——>安全性——>登录名——>当前管理员账户前计算机名称。

其次维护计划执行后备份的数据库名称是随机的,不便于处理,使用sqlcmd命令备份数据库解决。sqlcmd -U -P -Q "backup database onovps to disk="c:\back\onovps.bak"

-U: #数据库用户 (可选)

-P #数据库密码 (可选)

#如未指定-U -P以本地账户验证登录

#如果数据库以www.haiyun.me形式,须以[www.haiyun.me]方式备份,不然会提示语法错误

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值