我已经在MSQL studio中设置了一个工作,将我所有的数据库备份到一个特定的文件。 然后我把这个文件压缩,然后把它发送到备份设备。 我目前希望能够每周自动完成整个过程。 不过,这是我的问题。 我在MSQL Studio中创build的作业当前运行数据库的完整备份,但是它不覆盖旧数据。 我已经一次又一次地通过向导,但无法弄清楚如何在我的过程中覆盖旧的文件。 这样做的目的是为了节省服务器上的空间。
任何人都可以帮我弄清楚如何使备份工作覆盖旧文件?
如果使用“维护计划向导”创build作业,则一旦单击“ 备份数据库跨一个或多个文件”选项, 如果备份文件存在 ,将启用下拉菜单。 将该菜单设置为覆盖 ,这应该为你做。
如果您已经创build了维护计划,请打开维护计划并编辑“备份数据库”任务。 你应该看到与我上面描述的相同的选项。
如果您要为每个数据库创build一个文件,则无法使用SQL本机备份覆盖预先存在的备份文件。 将为每个文件创build新文件。 您必须编写脚本或使用支持此function的第三方工具。
我们做了这样的事情,我们不想覆盖服务器上唯一的备份,直到过程完成。 我们创build了一个备份作业,然后用gzip压缩备份(sql 2005),然后用forfiles删除旧的gzip备份。 我们已经这样做了一段时间没有问题。
forfiles指南http://technet.microsoft.com/en-us/library/cc753551%28WS.10%29.aspx
尝试使用T-SQL脚本BACKUP DATABASE语句http://msdn.microsoft.com/zh-cn/library/ms186865.aspx
BACKUP DATABASE SomeDB TO DISK ='c:\ backupdb.bak'WITH INIT ; 走
这将备份一个数据库到一个单一的文件,并总是覆盖所有。
或者,也许这个免费工具http://sqlbackupandftp.com/ – 它创build一个zip文件,可以限制多less个文件。