SQL Server数据库自动异地备份方案分析与探讨

2015-05-15 10:10仝虎张刚
现代计算机 2015年1期
关键词:异地命令备份

仝虎,张刚

(1.南京旅游职业学院电教中心,南京 211100;2.焦作师范高等专科学校信息工程系,焦作 454000)

SQL Server数据库自动异地备份方案分析与探讨

仝虎1,张刚2

(1.南京旅游职业学院电教中心,南京 211100;2.焦作师范高等专科学校信息工程系,焦作 454000)

数据库是应用系统的心脏,对于很多企事业单位来说,数据无价,所以数据库备份十分重要,但又经常做得不好。以SQL Server 2008 R2数据库为例,介绍并分析各种自动异地备份方案和具体实现方法,并指出各类方案方法的优劣,以便读者在工作中自行选择和取舍。

数据库;SQL Server;异地备份;自动化

0 引言

近年来,以数据库为核心的计算机管理信息系统的普及,使现代企事业单位的工作效率大大提高,但同时也增加了现代企事业单位对计算机软硬件的依赖。数据无价,单位的业务数据大都存储在数据库服务器上。各类基于数据库的管理信息系统,都要考虑数据库的安全问题,要想保障数据库的安全,最主要的方法就是做好数据库的备份工作,不但要做好手工备份,更要做好自动备份;不但要做好本地备份,更要做好异地备份。以防工作服务器出现灾难性的硬件故障,未雨绸缪,提前做好应对措施。本文介绍了SQL Server数据库各种自动异地备份方案和具体实现方法,并对各类方案方法做了简单分析与比较。

测试环境如下:

工作服务器A(主机),IP地址:10.0.0.1;异地服务器B(备用机),IP地址:10.0.0.2。

操作系统:Windows 2008 R2。

数据库:SQL Server 2008 R2。数据库名:test_db。

1 自动本地备份

自动本地备份是自动异地备份的基础,这里先介绍一下如何利用SQL Server作业实现本地定时自动备份数据库,每天备份的文件以日期时间命名,存放在工作服务器A(10.0.0.1)的文件夹E:DB_BK。具体操作步骤如下:

①打开SQL Server Management Studio

②启动SQL Server代理,图示。

③点击作业-〉新建作业,在“常规”中输入作业的名称test_db_fullbk_job

④点击步骤,点击新建按钮,新建步骤,输入名称test_db_fullbk_bz;类型选T-SQL,数据库选择master,在命令的空白处输入下面语句,然后点击确定,返回。

⑤点击计划,点击新建按钮,添加计划,输入名称test_db_fullbk_plan,设置好执行频率和具体触发时间等。

⑥点击确定,完成。完成后,可以选中该作业,然后右键,选中“作业开始步骤”,测试一下该作业是否成功执行。若成功会出现如图2界面。

2 自动异地备份方案

目前自动异地备份方案主要有两种,方案一:直接把数据库定时自动备份至异地,然后做压缩文件、定期清除历史文件等后续工作。方案二:先把数据库定时自动备份至本地,再定时压缩文件,然后传送至异地服务器,最后做定期的清理工作。方案一对网络速度和稳定性要求很高,一旦备份过程中网络信号差或者网络中断,则备份就无法完成;方案二比方案一更好一些,因为先把备份文件放在本地然后再传送至异地,所以更灵活,对网速和稳定性要求也没那么严格。两种方案又细分为几种不同的实现方法,下面对这两种方案及具体实现方法进行介绍和分析。

图1 SQL Server代理服务

图2 作业执行

(1)方案一:直接备份至异地

直接把数据库备份至异地服务器的主要方法有4种:

①通过映射网络盘和执行cmdshell命令实现。

具体过程与前文提到的自动本地备份相同,只是将第4步的T-SQL语句换成如下内容:

②利用域用户登录的方式实现。

该实现方法的思路来源于SQL Server服务帐号模式和安全机制。具体做法是,首先在备用机(10.0.0.2)中建立一个与主机(10.0.0.1)启动SQL Server服务的域用户帐号同名帐号,且密码保持相同,例如都用administrator,密码相同;然后在备用机中建立一个共享文件夹DB_BK,设置合适权限;最后在主机中创建数据库维护计划,备份时使用共享文件夹的UNC路径(\10.0.0.1DB_BK)即可。

③利用SQL Server的导入导出功能(DTS)实现。

在服务器B(备用机)上安装与服务器A(主机)相同的操作系统与SQL Server,然后利用SQL Server的导入导出功能。具体做法是,从主机的Enterprise Manager中添加注册目标数据库,然后任务→导出功能,在DTS wizard中选好源数据库和目标数据库,选中源数据库中所有对象,并记得配置每个表的transform项为“清空目标表”,有自增长字段的话要选“允许添加自增长字段”,接下来要选定期执行并选好计划,保存。

④利用链接服务器,写存储过程实现。

这种方法类似于方法3,只是把数据库中所有对象的导入导出操作用T-SQL语句实现,写成一个或几个存储过程,然后创建作业,定时执行存储过程。

四种方法各有优劣。单就数据库备份而言,方法1和方法2较为常用;方法3常用来把数据库中某些表中数据的导入导出和转换,若是数据库很大,用这种方法备份数据库将会耗时很久;方法4则常用于跨数据库查询。

(2)方案二:先备份至本地,后传送至异地

这种方案的思路是:考虑到网络传送的速度限制与不确定性,所以先把数据库定时自动备份至本地,再定时压缩文件,然后传送至异地服务器,最后做定期的清理工作。具体实现步骤如下:

①自动本地备份。

②定时自动压缩。

利用批处理命令和Windows任务计划实现。具体做法分两个阶段。

第一阶段:先安装WinRAR软件,然后新建一个批处理文件test_db_rar.bat,编辑该文件,写入如下命令代码,写好后保存。

第二阶段:打开Windows系统管理工具中的任务计划程序,创建基本任务,把test_db_rar.bat加入进去,然后设置好执行频次和触发时间即可。

③传送至异地。

传送压缩后的备份文件至备用机(10.0.0.2),具体做法分为三种:(1)建立批处理文件,利用xcopy命令实现文件传送,然后添加Windows计划任务定时执行。(2)建立批处理文件,利用ftp命令实现,然后添加Windows计划任务定时执行。(3)利用文件同步备份工具实现,比较好的有SecondCopy、FreeFileSync等。

三种传送文件的方法各有利弊:xcopy命令、ftp命令速度快,易控制,但需要了解命令的具体用法和命令附带的各类参数的定义,还需要了解Windows任务计划的操作方法,需要读者有一定的耐心和细心;SecondCopy等软件简单直观,易于实现,但不如前两种灵活。

3 结语

本文对SQL Server数据库自动异地备份方案和具体实现方法进行了探讨和分析,使读者对SQL Server数据库的自动异地备份策略有了宏观的了解和认识,读者可以从各自的实际情况出发,根据本单位软硬件设备、网络环境和生产系统合理的选择异地备份方案和方法,未雨绸缪,做好数据库的备份工作。

[1] Chris Leiter,Dan Wood等著.SQL Server 2008 DBA入门经典[M].张德群等译.北京:清华大学出版社,2010

[2] 张景辉,侯建海,秦洋.一种实现SQL Server数据库的备份和恢复的方法[J].微计算机应用,2005,26:228~230

[3] 吴彦,张冬.SQL Server自动异地备份的研究与应用[J].电脑知识与技术,2009,5(33):9617~9619

[4] 刘明军,王正凯.通过局域网实现异地自动备份HIS数据库的方法[J].医疗装备,2011,11:30~31

[5] 谢抢来,余丽娜等.SQL Server数据库异地备份的研究与实现[J].科技广场,2009,1:89~91

[6] 于泽德.基于SQL Server的财务管理系统的自动化异地备份[J].电脑知识与技术,2008,3:798~799

[7] 陈宇庆.SQL 2005数据库异地备份方法探讨[J].科技情报开发与经济,2012,22(20):114~115

Analysis and Discussion on Automatic Remote Backup Methods for SQL Server Database

TONG Hu1,ZHANG Gang2
(1.Audio-visual Center,Nanjing Institute of Tourism and Hospitality,Nanjing 211100;2.Department of Information Engineering,Jiaozuo Teachers College,Jiaozuo 454000)

Database is the heart of application system.Database backup is very important because data is priceless for many enterprises and institutions,while it is not often well done.Takes the SQL Server 2008 R2 database as an example,introduces and analyzes the various methods and concrete steps of automatic remote backup database,gives the comparison of various solution methods,through which readers can choose one and trade-offs it at work.

Database;SQL Server;Remote Backup;Automatic

1007-1423(2015)01-0019-04

10.3969/j.issn.1007-1423.2015.01.005

仝虎(1979-),男,河南修武人,工程师,工学硕士,研究方向为数据库与数据挖掘

张刚(1978-),男,河南修武人,硕士,讲师,研究方向为地理信息系统应用与开发

2014-11-27

2014-12-15

猜你喜欢
异地命令备份
VSAT卫星通信备份技术研究
只听主人的命令
创建vSphere 备份任务
图解跨省异地就医
移防命令下达后
推进医保异地结算 稳字当先
旧瓶装新酒天宫二号从备份变实验室
这是人民的命令
破除异地结算的地方抵制
基于3G的VPDN技术在高速公路备份链路中的应用