现在的问题是,如果用户没有自己删除旧的备份,那么就会占用越来越多的空间。
我想问的是:
1. 能不能在backup.bat里面加多一个检查功能,只保留最近的30个备份,把其余(bak结尾)的都删掉。
2. 有没有其他方法达到这个目的。
ps: 我的SQL Server是SQL Server 2005 Express
Thanks!
12 个解决方案
#1
up
#2
SQL Server 2000 或者 SQL Server 2005 是有可以保留最近 N 天前的备份,并大于这 N 天前的备份自动删除的功能的。
SQL Server 2005 Express 精简版本没有这个功能,最好选择标准版本或者企业版本。
SQL Server 2005 Express 精简版本没有这个功能,最好选择标准版本或者企业版本。
#3
我知道有这个功能,可惜我们不能用d版的。
#4
up
#5
似乎可以,高手还来,耐心等等吧!
#6
只有自己写schedule在进行判断,一样的可以的
#7
在批处理中写判断吧。记得Windows2003有一个命令Forfiles
如:
Forfiles /D -30 /C "cmd /c echo @fname 是30天前的
自己测试一下吧,2000下可以把2003的Forfiles.exe文件拷过来用。
如:
Forfiles /D -30 /C "cmd /c echo @fname 是30天前的
自己测试一下吧,2000下可以把2003的Forfiles.exe文件拷过来用。
#8
Forfiles,好东东
另可如下操作:
保留最近30个:
for /f "skip=30" %i in ('dir *.bak /tc /o-d /b') do del %i
删除指定日期前的文件,参考:
http://blog.csdn.net/scz123/archive/2006/09/12/1213907.aspx
另可如下操作:
保留最近30个:
for /f "skip=30" %i in ('dir *.bak /tc /o-d /b') do del %i
删除指定日期前的文件,参考:
http://blog.csdn.net/scz123/archive/2006/09/12/1213907.aspx
#9
感谢两位!
#10
发现一个问题,就是把
for /f "skip=30" %i in ('dir *.bak /tc /o-d /b') do del %i
放到bat文件里面运行时报错:
i was unexpected at this time.
what's wrong?
for /f "skip=30" %i in ('dir *.bak /tc /o-d /b') do del %i
放到bat文件里面运行时报错:
i was unexpected at this time.
what's wrong?
#11
批处理中%i 要改为 %%i
#12
Thanks!
#1
up
#2
SQL Server 2000 或者 SQL Server 2005 是有可以保留最近 N 天前的备份,并大于这 N 天前的备份自动删除的功能的。
SQL Server 2005 Express 精简版本没有这个功能,最好选择标准版本或者企业版本。
SQL Server 2005 Express 精简版本没有这个功能,最好选择标准版本或者企业版本。
#3
我知道有这个功能,可惜我们不能用d版的。
#4
up
#5
似乎可以,高手还来,耐心等等吧!
#6
只有自己写schedule在进行判断,一样的可以的
#7
在批处理中写判断吧。记得Windows2003有一个命令Forfiles
如:
Forfiles /D -30 /C "cmd /c echo @fname 是30天前的
自己测试一下吧,2000下可以把2003的Forfiles.exe文件拷过来用。
如:
Forfiles /D -30 /C "cmd /c echo @fname 是30天前的
自己测试一下吧,2000下可以把2003的Forfiles.exe文件拷过来用。
#8
Forfiles,好东东
另可如下操作:
保留最近30个:
for /f "skip=30" %i in ('dir *.bak /tc /o-d /b') do del %i
删除指定日期前的文件,参考:
http://blog.csdn.net/scz123/archive/2006/09/12/1213907.aspx
另可如下操作:
保留最近30个:
for /f "skip=30" %i in ('dir *.bak /tc /o-d /b') do del %i
删除指定日期前的文件,参考:
http://blog.csdn.net/scz123/archive/2006/09/12/1213907.aspx
#9
感谢两位!
#10
发现一个问题,就是把
for /f "skip=30" %i in ('dir *.bak /tc /o-d /b') do del %i
放到bat文件里面运行时报错:
i was unexpected at this time.
what's wrong?
for /f "skip=30" %i in ('dir *.bak /tc /o-d /b') do del %i
放到bat文件里面运行时报错:
i was unexpected at this time.
what's wrong?
#11
批处理中%i 要改为 %%i
#12
Thanks!