您好,请您先 登陆 或者 注册

帐套管理中的自动备份中的不限量备份和限量备份.

在帐套管理中.有个自动备份,里面有个限量备份选项.如果限量备份选择了10的话,系统是怎么处理的.
A 是就备份数据库10次,到了10次之后就不备份了.
B 是备份10次数据库.第11次备份的时候就将第一次备份的文件给删除了,也就是说始终保持着最近的10次备份
C C 是就备份数据库10次,到了10次之后,还是继续备份
C是李总的回答. 那如果是这样的话. 又跟前面的 不限量备份有啥区别. 反正一个是不限量的备份. 一个是备份了10次.过会再继续备份.

提问者: pc8848
等级:普通会员
时间:2012-09-24 21:22
悬赏:0
解决时间:2012-09-24 22:19
最佳答案
可以放一个批处理,删除5天之前的,SQL2000/2005是存在这样的BUG,限量无效。

复制以下代码,放在记事本中,另存为del.bat批处理:(DaysAgo=5指删除5天前的)

rem 指定待删除文件的存放路径
set SrcDir=.\
rem 指定天数
set DaysAgo=5
for /f "skip=2 delims=" %%a in ('reg query "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate') do (
set "RegDateOld=%%a"
)
set RegDateOld=%RegDateOld:~-8%
reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d yyyy-M-d /f>nul
>"%temp%\DstDate.vbs" echo LastDate=date()-%DaysAgo%
>>"%temp%\DstDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
>>"%temp%\DstDate.vbs" echo wscript.echo FmtDate
for /f %%a in ('cscript /nologo "%temp%\DstDate.vbs"') do (
set "DstDate=%%a"
)
set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%
for /r "%SrcDir%" %%a in (*.*) do (
if "%%~ta" leq "%DstDate%" (
if exist "%%a" (
del /q "%%a"
)
)
)
reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d %RegDateOld% /f>nul
exit

该批处理注意事项:
1. 一定要注意,不要放在重要目录下执行,不然全没了,不会进回收站
2. 一定要注意,要会把子目录中的也删除
3. 只能放在备份目录下
4. 要把这个批处理设为只读(就不会删除自已,也可以把一些不想删除的设置为只读,就不会被删除)
5. 定期运行就可以删除几天前的
回答者:李祥
等级:问不倒翁
时间:2012-09-24 21:57
您觉得最佳答案好不好?
目前有 1 个人评价
100% (1)
不好 0% (0)
提问者对最佳回答的评论:
谢谢.原来是存在BUG.就用这个方法解决吧.
对最佳答案的评论 共 3 条
学习了。呵呵
评论者:wangze2005
还以为是会自动删除、保留10份的呢,这样不如用sql的维护计划。
评论者:bonchen
循环删除、循环备份才是正道!呵呵
评论者:bonchen
对最佳答案的评论:

评论字数200字以内
总积分排行
ytkf00720058 4704
kh35927124 3414
赢通技术43538 3053
bonchen13219 2797
赢通技术37615 2590
JCLH11087 1917
浅逝1873 1873
李祥19958 1542
xiaobird3309 1254
daoptt3310 1237