利用Windows 的计划任务完成 SQL Server 数据库实现异地备份
作者:卖水果的 日期:2009-9-7 19:11:24
SQL Server使用 Backup database 时,只能使用本地的磁盘,把把其他的机器共享止录映射为本机的一个虚拟盘符,也不能备份;下面提供一个方法,思路是在备份放在本地,再通过FTP的形式,传到远程机器上,当然了,这需要远程的机器开通FTP服务。
| @echo off rem begin 初始化变量 for /f "tokens=1" %%x in ('date /t') do set FILE_NAME=%%x_%time:~0,2% set FILE_NAME=%FILE_NAME: =0% set FILE_PATH=D:\BAK set FTP_PARAM_NAME=ftp.ini osql -E -Q"exec sp_shrinkdb" rem ------------------------------------------------------------------------------------------------- for %%I in (hxpublic,hxtz101,hxtz102,hxtz103,hxtz104,hxtz105) do ( title 正在备份%%I osql -E -Q"backup database %%I to disk ='%FILE_PATH%\%%I_%FILE_NAME%.msbak'" rar a -df -ep %FILE_PATH%\%FILE_NAME%.rar %FILE_PATH%\%%I_%FILE_NAME%.msbak ) call :write_parfile %FTP_PARAM_NAME% ftp -s:%FTP_PARAM_NAME% del %FTP_PARAM_NAME% ping -n 60 127.0.0.1>nul exit rem ---- End of Main Program ---------------- :write_parfile rem 生成 FTP 上传的参数文件 rem 注意 第一行只有一个 ">" , 其余行 为 ">>" echo open 192.168.1.20 >%1% echo ftpuser>>%1% echo ftppwd>>%1% echo bin>>%1% echo cd backup >>%1% echo put %FILE_PATH%\%FILE_NAME%.rar %FILE_NAME%.rar >>%1% echo bye >>%1% goto :eof rem ------------------------------------------------------------------------------------------------- rem end echo 完成 ... ... echo on |
评论: 0 | 引用: 0 | 查看次数:
发表评论
上一篇
下一篇
Tags: