首页 > 数据库 > mysql教程 > SQL2008定时备份数据库并上传到FTP

SQL2008定时备份数据库并上传到FTP

WBOY
发布: 2016-06-07 15:35:28
原创
1486 人浏览过

首先新建数据库维护计划,定时执行数据库备份,打开数据库管理器——管理——维护计划——右键新建维护计划向导——计划更改——选择执行时间。 选择维护任务:备份数据库 选择要备份的数据库,可选数据库备份目录,备份报告。 维护计划添加完成。 FTP上传脚

首先新建数据库维护计划,定时执行数据库备份,打开数据库管理器——>管理——>维护计划——右键新建维护计划向导——>计划更改——>选择执行时间。
SQL2008定时备份数据库并上传到FTP
选择维护任务:备份数据库
SQL2008定时备份数据库并上传到FTP
选择要备份的数据库,可选数据库备份目录,备份报告。
SQL2008定时备份数据库并上传到FTP
维护计划添加完成。
SQL2008定时备份数据库并上传到FTP
FTP上传脚本,由于windows下ftp命令不支持被动模式,此脚本使用curl命令上传到FTP。

1
2
3
4
5
6
7
8
9
登录后复制
<span><strong>set</strong></span> <span>sqlpath</span>=d:\back <span><em>#备份目录</em></span>
<span><strong>set</strong></span> <span>dbname</span>=onovps <span><em>#备份数据库名称,例onovps.bak</em></span>
<span><strong>set</strong></span> <span>ftphost</span>=onovps.com <span><em>#FTP服务器地址</em></span>
<span><strong>set</strong></span> <span>ftpuser</span>=<span><strong>ftp</strong></span> <span><em>#FTP用户</em></span>
<span><strong>set</strong></span> <span>ftppasswd</span>=<span><strong>passwd</strong></span> <span><em>#FTP密码</em></span>
<span>path</span>=<span><strong>%</strong></span>path<span><strong>%</strong></span>;C:\Program Files\WinRAR\;C:\Program Files\curl\ <span><em>#设置环境变量</em></span>
<span><strong>cd</strong></span> <span><strong>%</strong></span>sqlpath<span><strong>%</strong></span>
Rar.exe a  <span>"%dbname%"</span>-<span>"%date:~0,10%"</span>.rar <span>-df</span> <span>"%dbname%"</span>.bak
curl <span>-u</span>  <span><strong>%</strong></span>ftpuser<span><strong>%</strong></span>:<span><strong>%</strong></span>ftppasswd<span><strong>%</strong></span> <span>-T</span> <span><strong>%</strong></span>dbname<span><strong>%</strong></span>-<span>"%date:~0,10%"</span>.rar <span><strong>ftp</strong></span>:<span><strong>//%</strong></span>ftphost<span><strong>%</strong></span>
登录后复制

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

更新:
经过调试发现问题有点多哦,首先维护计划未成功执行,错误日记:SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 'WIN-KC19Q4LEIODAdministrator' 的信息,错误代码 0x534。
解决:原来之前有更改过计算机名称,更改SQL管理器——>安全性——>登录名——>当前管理员账户前计算机名称。
其次维护计划执行后备份的数据库名称是随机的,不便于处理,使用sqlcmd命令备份数据库解决。

1
2
3
4
5
登录后复制
sqlcmd <span>-U</span> <span>-P</span> <span>-Q</span> <span>"backup database onovps to disk="</span>c:\back\onovps.bak<span>"
-U:  #数据库用户 (可选)
-P   #数据库密码 (可选)
#如未指定-U -P以本地账户验证登录
#如果数据库以onovps.com形式,须以[onovps.com]方式备份,不然会提示语法错误</span>
登录后复制
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板