首页 > 范文大全 > 正文

数据库维护计划下的SQL Server程序数据库备份方案分析

开篇:润墨网以专业的文秘视角,为您筛选了一篇数据库维护计划下的SQL Server程序数据库备份方案分析范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:在一个大型数据库中,造成数据丢失的原因会有很多,这使得掌握备份方案变得尤为必要,本文详细论述了基于数据库维护计划的数据库备份方案。

关键词:sql server;数据库维护;数据库备份与还原

一、概述

对于计算机用户来说,对一些重要文件、资料定期进行备份是一种良好的工作习惯。同样,对于数据库管理员和用户来说,对数据库备份与还原也是不可或缺的工作。因为在一个复杂的大型数据库中,用户可能对数据库进行了错误操作,另外一些恶意操作、物理磁盘的数据冲突、外界突发事件的影响等,这些都有可能造成数据损失,严重是甚至导致是系统崩溃。本文拟对数据库备份的几种方案及通过SQL Server程序执行数据库备份任务的过程作一阐述。

二、数据库备份方式及其原则

根据不同的情况,在SQL Server中,用户可以选择4种备份策略:

①只备份数据库

数据库备份是将数据库的数据一次性备份出来,并可以设定备份周期。但是如果只采用数据库完全备份,而不备份该数据库的事务日志,当出现故障时可能会丢失大量的数据。

②事务日志备份

事务日志备份是对自从上次备份事务日志后对数据库执行的所有事务的详尽记录进行备份,可以使用事务日志备份将数据库恢复到特定的时段。

③数据库差异备份

假如数据经常被修改,可以使用数据库差异备份来减少备份时间和恢复时间。要执行数据库的差异备份,首先需要执行完全数据库备份。数据库的差异备份只备份上一次完全数据库备份之后已经改变的那些数据内容,和在执行数据库差异备份中发生的任何操作。

④对指定文件的备份

我们还可以备份和还原数据库中的个别文件或文件组,这样将使用户能够只还原已损坏的文件部分,而不用还原数据库的整体,从而提高了恢复速度,提高工作效率。

三、数据库维护计划下的备份方案

Back Up Database Task是自动按计划执行完全备份、差异备份和事务日志备份的最佳途径。在SQL Server中,只需要进行拖拽并设置相关属性就能实现该方案,具体步骤如下:

首先,新建维护计划,在服务器管理中的维护计划鼠标右键点击新建维护计划。

然后,设计维护计划:①拖拽任务工具箱的“备份数据库任务”到维护计划设计器,右键点击编辑“备份数据库”任务设置属性,将自动完成数据库完整备份工作。②拖拽任务工具箱的“清除历史记录”到维护计划设计器。③拖拽“清除历史记录”到维护计划设计器。本步骤完成了作业属性设置,系统将按照设置定期运行相关作业。

最后,保存维护计划到此。如果管理员需要查看日志记录,根据成功记录与否就可以调整和修改这个维护计划。

四、备份方案和恢复实例展示

下面结合综合备份方案的实例来体现数据库的备份和恢复。数据库备份和恢复可以利用企业管理器来操作,当然也可利用T-SQL语句编程来实现操作。两种方法的定期执行都需要有SQL Server的支持。这里我们例举T-SQL编程语句来实现操作一个关于student的数据库:

①创建完全备份:

Use master

Go

Exec sp_addunpdevice‘disk’,‘student_bak’,‘路径名’

Go

②创建差异备份

Use master

Go

Exec sp_addunpdevice‘disk’,‘student_diff’,‘路径名’

Go

③创建备份事务日志

Use master

Go

Exec sp_addunpdevice‘disk’,‘student_log’,‘路径名’

Go

建好备份设备后,就可以把数据备份在这些媒体上。下面我们用查询分析器运行一下三个小程序建立数据库备份:

①完全备份stuednt数据库文件

Back database student to[student_Bak]with init,nounload,noskip,stats=10,noformat

②差异备份stuednt数据库文件

Back database student to[student_diff]with init,nounload,differential,noskip,stats=10,noformat

③事务日志备份文件

Back log student to[student_log]with init,nounload,noskip,stats=10,noformat,

No_truncate

万一数据库发生意外,恢复数据库要确保断开数据库所有操作。还原数据库的三个文件如下:

(1)恢复完全备份数据库文件

Restore datebase student from student_bak with norecovery,replace

Go

(2)恢复差异备份数据库文件

Restore datebase student from student_diff with file=5,norecovery

Go

(3)恢复事务日志备份数据库文件

Restore log student from student_log with recovery_store=‘2004_9_12 10:00:00’

Go

四、结语

数据中心操作大量的数据,当数据遭到破坏时,这是一场灾难,这正是定期进行备份的重要性。本文所论述的数据库备份方案可以让SQL Server有效地自动备份有关数据库,保持数据库运行在最佳工作状态,并为工作节省了时间,提高了办事效率。(重庆渝北职业教育中心;重庆;401100)

参考文献:

[1] 李俊山:数据库原理及应用,清华大学出版社,2009,11.

[2] 萨师煊、王珊:数据库系统概论(第二版),北京:高等教育出版社,2000.

[3] 徐英俊:教学设计,教育科学出版社,2001.