ASP.net , C#, and VB.net , and Java, and SQL

coding and testing

博客园 首页 新随笔 联系 订阅 管理

来之 http://bbs.51cto.com/thread-806573-1.html.

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端口,对服务器的安全性带来一定的危险

 

posted on 2011-03-02 21:37  mr liao  阅读(1308)  评论(0编辑  收藏  举报