利用SQLSERVER2005代理作业备份水文数据库
2011-08-07王捷音
王捷音
一、引言
随着计算机技术的发展,数据库技术已成为计算机信息系统与应用系统的核心技术和重要基础,数据库信息的安全性和稳定性就显得尤为重要。我们日常工作中所用到的雨水情处理系统、报文的转换系统、水文管理系统等都是以水文数据库为基础的,如果由于人为错误、硬件故障、程序错误、计算机病毒、网络故障或自然灾害等原因造成水文数据库破坏或丢失,将严重影响防汛抗旱工作的顺利进行,因此,需要进行数据库备份来保护水文数据库。当数据库受到破坏或丢失时,用户可以使用数据库的备份文件对其进行恢复,保障水文数据库信息的安全和稳定。
二、数据库的备份及恢复
SQL SERVER 2005是目前比较常用的数据库,对数据库的备份也有许多方法,利用其本身企业管理器带有备份和恢复数据库的工具可以实现,利用ASP以及别的编程技术也可实现。本文主要介绍的是利用SQL SERVER代理作业实现水文数据库在本机以及远程的双备份。这样即使本机受到损坏,但网络内的另外一台机器还有备份。
要实现本机远程双备份技术就必须要了解SQL SERVER 2005数据库备份的基本原理和相关的基础知识,SQL SERVER 2005常用的备份和恢复的方法有:
(1)通过企业管理器的数据库备份和还原功能。
(2) 在查询分析器里执行“sp_detach_db’db_name’,true”分离数据库,将*.mdf和*.ldf拷贝出来,当然也可以通过停止SQL SERVER服务来拷贝数据库文件,即冷备份。利用数据库附加来还原数据库。
(3)在查询分析器里执行“backup database‘db_name’to disk=’文件名’”来备份数据库,执行“restoredatabase‘db_name’fromdisk=’文件名’”可还原数据库。
第一种方法是利用SQL SERVER的企业管理器自带的数据库备份恢复的功能,可以直接使用。第二种方法是通过在查询分析器里执行数据库分离的SQL语句来实现,也可以通过拷贝文件来实现冷备份。第三种方法就是要在查询分析器里里执行SQL语句来备份和还原数据库。本文将采用第三种方法的原理,在代理作业中进行自动备份。
三、利用SQL SERVER 2005代理作业备份数据库
利用代理作业的目的是将数据库根据时间进行本机和远程备份,备份后压缩、删除原文件、定期删除一天前的远程以及本机备份。利用SQL SERVER代理作业的前提是将SQL Server Agent服务打开。假设水文数据库(数据库名为SQDB)在A机上,将数据库备份保留在A机的E盘下的SJDB文件夹下同时存在局域网内B机(假设B机的ip地址为192.168.0.7,将bf文件夹做为备份文件夹)上。具体步骤如下:
(1)在开始菜单中打开SQL Server Management Studio,展开窗口左边的对象资源管理器。
(2)在 SQL Server代理下,选择“作业->新建作业->常规”,输入作业的名称。在新建步骤中选择T-SQL,命令中输入下面语句:
代码中备份的删除间隔天数可以自由设置,可以设置成1d,也可以设置成7d。
(3)添加计划,按工作的实际情况设置频率、时间等参数,这样代理作业就可以按照使用者的意愿去执行。
四、结束语
进行数据库代理作业设置之后,由于所备份文件处于压缩状态,可以自动删除,占用硬盘空间较小,使用起来比较灵活,简化了数据的备份工作,但进行完数据库备份之后还应对数据库备份进行测试,这样才能有效地保护数据库信息的安全和稳定