2024年4月14日发(作者:)

关于服务器使用BAT做异地备份

关于使用BAT做异地备份的详细步骤

服务器的异地备份一直困扰着我,如果是单独的一个数据库做异地备份,确实没有难

度!使用一个储存过程就能解决这个问题,单个数据库的异地备份,百度一下出来一片。

我就不复制粘贴了。

在做这个异地备份之前我先提一下,做备份的前提条件:作为异地备份的两台服务器

必须在同一个局域网,属于一个防火墙范围内。(在同一个防火墙下是因为你要做指定共

享文件夹,防火墙作为一道坚定的安全防护门,可以省去因为指定共享了一个文件夹的安

全着想)。

我们要完成的目标:A服务器每天自动备份大量数据库,B服务器每天复制A服务器的

BAK文件

A服务器:作为数据库服务器,每天作为数据库备份服务器。

B服务器:作为异地备份的目标服务器,每天在固定时间,拷贝A服务器上数据库的

备份

第一步:做共享文件夹,在B服务器上做一个共享文件夹直接共享到A服务器上。

在做共享的时候,请注意一定要给够权限,不然在服务器上打不开共享,做出来的BAT

也是废物!

第二步:在A服务器上使用SQL SERVER 2005 自带的定时备份计划,把服务器里的

文件做到一个文件夹里。

比如:D盘的D:/DATABAK 这个备份怎么做我就不解释了。

第三步:做一个BAT文件,主要功能就是完成从A服务器到B服务器的复制工作。

这里,我把BAT文件的内容贴上来,很简单的几句复制语句!

在两台服务器上都新建一个DATABAK

192.168.11.111 A服务器地址 DATABAK1

192.168.11.112 B服务器地址 DATABAK2

BAT完整语句:

@echo off

net use /user:administrator 888888

copy /y d:databak1*.*

net use /delete

@echo pause

第四步:在B服务器上做任务计划,定时复制A服务器上D:/DATABAK文件夹下的

BAK文件

上回说到用过批处理把A服务器内的BAK文件复制到B服务器上的DATABAK文件

夹内。

按照基本流程也算是完成了,但是最后还是要考虑一个问题:在B服务器每天复制如

此量大的BAT文件,而且没有自动清除设置,导致B服务器硬盘容量无法承受如此量大的

文件容量,我们必须要想办法按照A服务器上的清除方法,保存超过一周的BAK文件一

律自动清除。既然在A服务器上用SQL2005能够达到自动清除的目的,我们何必再去写

批处理来加大服务器的负担呢?所以我们还是用服务器预装的SQL2005来完成这个任务!

在用SQL server 2005做B服务器的BAK文件清除任务的时候,一定要注意几个情

况:

一、一定要处理好SQL server 代理这个功能,要设置在服务器重启维护时自动启动,

如果没有做自动启动,那么自己手动启动也是可以的,不过建议还是设置成自动启动!

二、在A服务器的共享的那个文件夹z:DATABAK,在重启服务器后,一定要在A服

务器上双击此文件夹,这时会提示需要你输入用户名和密码,这是服务器安全措施的必要

环节,就算服务器外还有一道防火墙来保证服务器的安全,但是服务器多做一些防护措施

是有备无患,只要不影响应用程序和系统的运行,安全还是要放在第一位的。其实服务器

一个月或者几个月重启维护一次算是正常了,没有大量的系统垃圾和需要维护的工作就没

必要经常重启服务器。

下图就是SQL server 2005在B服务器上的设置截图!