来之 .
SQL Server 2005自动异机备份
本人在网络上查了一些资料之后终于以很傻的方式解决了SQL 2005的异机备份问题啦,现在俺就给大伙抽 两句: SQL Server 2005数据库系统支持三种备份方式:完整备份、差异备份和日志备份。 本人目前的实现方式是:第一:每周1次完全备份,备份时 间为每周6的0点整,并且将本次的完整备份文件传送到另外的文件服务器上。第二:每天1次差异备份, 备份时间定为晚上的0点整,并且将此备份传送到文件服务器上。 自动备份实施方案: 关于数据库的备份,SQL Sever 2005提供了可视化向导和利用Backup语句两种备份方式。下面就两种 备份方式实施上面的备份策略。 可视化向导创建备份: SQL Sever 2005可以通过“维护计划向导”来创建维护计划,实现自动化备份数据库。具体步骤如下: (1)在“管理”--“维护计划”上右键弹出菜单,选“维护计划向导”,设置“维护计划的名称”,在 里面填写计划的名称(自己自定义哦)。设置代理执行维护计划账户和口令 (2)选择维护计划类型,比如数据库备份(完整备份),定义维护计划任务,在这里需要为备份文件选 择适当的位置和文件名(比如:TEST.BAK),并在“如果备份文件存在(*)”的备选项改为“覆盖”。 (3)设置计划执行周期。设置为每周六的0点,并保存好维护计划操作报告。 (4)确定--完成。 这样就完成了数据库的完整备份,按照上面的步骤,设置数据库的差异备份和日志备份。完成后先收工执 行测试。 也可用Backup语句创建备份 用Backup语句可以备份整个数据库、事物日志,备份这些对象的语法较复杂些,但是 都大同小异: 完整备份: GO BACKUP DATABASE TEST(数据库的名称哦) TO DISK = 'E:\BACKUP\TEST.BAK(备份文件哦)' \这个是指定 备份的位置的哦 WITH INIT '这里的INIT 表示的是覆盖现有的备份集哦 GO 这样之后添加计划,设置执行的周期(每周一次)和时间(晚上0点哦)等。 然后确定--完成。 同理可以用上面的方式来实现差异备份和日志备份,并根据备份的策略来设置执行的周期和时间,他们的 语句分别是: 差异备份: USE TEST GO BACKUP DATABASE TEST TO DISK = 'E:\BACKUP\TEST.BAK' \指定备份的位置 WITH DEFFERENTIAL \指定备份的类型为差异备份哦 GO 日志备份 BACKUP LOG TEST TO DISK = 'E:\BACKUP\LOG.LDF' \指定备份的位置 GO 异机存放备份文件 处于安全考虑,即使在本机上做了备份之后,仍存在机器本身意味事件而导致备份文件的损坏或者丢失 的可能,所以在其他的机器上也存放一份备份文件 方为更安全,这个就利用WINDOWS的任务计划和一个 copy批处理文件即可实现。可以利用下面的两种方式来完成异机存放的目的(本人两种都试过,其中第一 种为方便哦): (1)以域服务器的方式: 把备份集加入的SQL Sever 集成系统服务器中后,以域账户登录,按照下面的步骤即可实现备份文件的自 动传送: 1.在备份机上新建一个.BAT文件,编辑如下内容保存: copy \\192.168.1.100\E$\BACKUP\TEST.BAK E:\BAK\ 说明:192.168.1.100就是集成系统服务器的IP地址,E$\BACKUP\TEST.BAK是集成系统数据库的完整备份 ,E:\BAK\是完整备份文件传送过来的保存位置。 2.在备份机上添加任务计划,找到刚才新建的批处理文件,周期改为“每 周”,把时间也改掉,输入域用户名和密码。 3.确定---完成。这样就可以实现对数据库完整备份的异机存放目的。 (2)除了用域用户登录的方式,还可以用NET命令把备份的文件COPY到需要放入的目录下,但是这种情况 的话要保证备份机的IPC$要开启,并且两台机器的用户和密码一致(主要是要保证重启机器后不用再重新 映射哦)。 具体步骤: 1. 在集成系统服务器上,开始---运行--输入CMD,进入命令行窗口。 2.在命令行窗口下输入如下命令: Net use z:\\192.168.1.100\e$ '123456' /user:administrator 说明:192.168.1.100是备份机的IP地址,123456为密码,administrator是他的用户名,上面语句的意思 就是把备份机的E盘映射到本地的Z盘。 3.在集成系统服务器上建立.bat文件来实现文件的传递,编辑如下内容并保存为自定义文件名.BAT copy E:\backup\test.bak z:\ 自定义文件名.BAT 4.添加任务计划,找到刚才定义的.bat文件,周期改为“每周”,把“起始时间”改为晚上的0点,日期 改为“星期六”,输入机器的用户名和密码。 5.确定---完成。就可以吧完全备份文件test.bak存放到备份的机器上啦。 同样,利用上面的3、4、5步完成差异文件的自动传送。 如果用net的方式的话,必须开放139和445端口,对服务器的安全性带来一定的危险