吉大《电子商务平台及核心技术》第五章 数据层技术基础
发布时间:2024-04-04 08:04:05浏览次数:31吉大《电子商务平台及核心技术》第五章 数据层技术基础数据库备份与还原处理数据库备份,是在数据丢失的情况下,能及时恢复重要数据,防止数据丢失的一种重要手段。一个合理的数据库备份方案,应该能够在数据丢失时,有效地恢复重要数据,同时需要考虑技术实现难度和有效地利用资源。1.1 准备工作在制订数据备份方案前,我们首先对要对现实情况做一个具体的调查,这样制订出来的方案才是合理且有效的。一般,我们需要了解如下内容:数据丢失的允许程度?允许的故障处理时间?业务处理的频繁程度?服务器的工作负荷?可接受的备份/恢复处理技术难度?数据库的大小?数据库大小的增长速度?那些表中的数据变化是频繁的,那些表中的数据是相对固定的?那些表中的数据是很重要的,不允许丢失的,那些表中的数据是允许丢失一部分的?什么时候大量使用数据库,导致频繁的插入和更新操作?现有的数据库备份资源(磁盘、磁带、光盘)有哪些?有无可能为数据库备份投入新的设备或资金?1.2 备份方法了解现状后,我们再看看 SQL Server 提供给我们的备份方法,SQL Server 一共给我们提高了四种数据库备份的方法:1.2.1. 完全备份
这种备份会备份数据库中所有的数据。因此,它生成的备份文件大小和备份时间是由数据库中,数据的容量决定的。还原的时候,可以直接从备份文件还原到备份时的状态,不需要其他文件的支持,还原过程最简单;1.2.2 差异备份备份自上次完全备份后,发生了更改的数据。差异备份是备份发生了更改的数据,因此在做差异备份前,必须至少有一次完全备份。而还原的时候,也必须先还原差异备份前一次的完全备份,才能在此基础上进行差异备份数据的还原。这种备份生成的备份文件大小和备份需要的时间,取决于自上次完全备份后,数据库的数据变化情况,相对于完全备份来说,它生成的备份文件较小,备份时间较短,对 SQL Server 服务性能的影响也较小;但它的还原过程相对麻烦一点,必须对应它之前的完全备份才能成功还原;1.2.3 日志备份备份是自上次备份后对数据库执行的所有事务的一系列记录,这个上次备份,可以是完全备份、差异备份、日志备份,但日志备份前,至少有一次完全备份。还原的时候,必须先还原完全备份,再还原差异备份(如果有的话),再按照日志备份的先后顺序,依次还原各次日志备份的内容;这种备份生成的备份文件最小,需要的时间也最短,对 SQL Server 服务性能的影响也最小,适宜于经常备份。但是很显然地,它的还原过程是最麻烦的,不但要对应它之前做的完全备份和差异备份(如果有的话),还要注意还原的顺序;1.2.4 文件和文件组备份可以备份和还原数据库中的个别文件或文件组。这种备份方法平常使用的机率比较少,常常用于对重要数据的备份。它要求在数据库设计时,就做好考虑,把需要单独做特别备份的表进行分组,给它们分配不同的文件组(表只能放在文件组上,不能放在具体的文件上,一个文件组可以是一个文件或多个文件),这样才能在做备份的时候,单独备份这些数据。这种的备份的处理技术难度相对来说比较高,不但要掌握备份/还原的方法,还必须对数据库结构和数据库中的各表数据情况掌握得比较好。1.3 备份方案制订策略有了上面的资料,我们就可以根据我们的实际情况来选择合适的备份方法了。一般的,我们在制订备
份方案的时候,可以按照下面的策略:数据库备份能保障在数据丢失的情况下,能恢复重要数据,因此,在数据库中的数据发生变化后,要及时对重要的数据进行备份。数据备份,要求不能影响业务处理的正常进行,因此,数据备份要采用多种备份方法并用,将完全备份这类占用服务资源高的备份设置在业务处理的空闲时间段,而将日志备份这类占用服务资源少的备份方法应用在业务处理的高峰,但却需要及时备份的时候;充分考虑故障出现时,业务处理可以接受的停机时间,不同的备份方法,需要的还原时间不同,因此 ,在照顾备份对业务处理影响的同时,要考虑还原的时间,不能因为完全备份对业务处理影响很大,就几个月才做一次,这样的话,在还原的时候花费的时间就很长了;考虑公司的技术力量,尽量避免采用超过公司掌握的技术程序的备份处理方法;用效利用备份资源,要根据公司目前具备的备份资源,合理地使用上述四种备份方法进行备份,同时要考虑过期备份文件的清除和备份资源的再利用问题;要考虑灾难性数据丢失造成的影响。对于重要的数据,要将数据库备份到多种介质和多个地方,这样一处备份损坏了,还有其他的备份可用。1.4 备份方案的实施数据库备份是一个周期性的工作,因此我们应该让 SQL Server 按照我们制订的备份方案,自动地完成各种备份,而不要我们手工来进行日常的备份处理。在 SQL Server 中,要定时执行某项操作,是由 SQL Agent 服务来完成的,因此,要让我们的备份方案能自动完成的话,首先我们要把 SQL Agent 服务设置为自动启动(需要注意的是,win98/winme 这类的操作系统是无法设置 SQLSERVERAGENT 自动启动的),设置方法:我的电脑--控制面板--管理工具--服务--鼠标右键 SQLSERVERAGENT--属性--启动类型--选择“自动启动”--确定在 SQL Server 中,我们可以通过下面几种方法来定义我们的数据库备份:1.数据库维护计划:这里可以定义完全备份和日志备份的自动备份作业。定义方法:
--企业管理器--管理--右键数据库维护计划--新建维护计划--[下一步]--选择你要备份的数据库--[下一步]--直到“指定数据库备份计划”这项--然后按照向导提示进行设置就行了2.数据库备份:这里可以根据我们的备份方式制订各种数据库备份作业。定义方法:--企业管理器--鼠标右键你要备份的数据库--所有任务--备份数据库--在[备份]项中选择数据库和备份方式--在[目的 ]--[备份到]项中,按[添加]按钮,添加备份文件--在[调度]项中,勾选“调度”,并点…按钮设置备份的时间安排--确定3.作业:上述两种方法,最终设置的结果都是一个作业(JOB)调度,因此,我们也可以通过直接创建作业,由作业定时调用备份处理的语句来实现自动备份。定义方法:--企业管理器--SQL Server 代理--右键作业--新建作业--[常规]项中输入作业名称--[步骤]项--新建--输入步骤名--[类型]中选择"Transact-SQL 脚本(TSQL)"--[命令]中输入备份处理的 SQL 语句--[调度]项中,设置你的备份时间计划吉大《电子商务平台及核心技术》FAQ(五)第五章 数据层技术基础1、简述数据库管理的发展阶段及各自特点?参考解答:数据库的发展阶段:1)人工管理阶段特点:① 数据不保存② 数据需要由应用程序自己管理③ 数据不共享④ 数据不具备独立性2)文件管理阶段特点:① 数据可以长期保存② 由专门的软件—文件系统进行数据管理,使应用程序和数据之间据有相对的独立性
③ 数据共享性差,冗余量大④ 数据独立性低,文件与应用程序一一对应3)数据库管理阶段特点:① 数据结构化② 数据共享性好,冗余度低③ 数据独立性高,数据库提供逻辑独立性和物理独立性④ 数据由 DBMS 统一管理和控制,保证了数据的安全性、完整性、并法控制机制和数据恢复机制2、请对数据仓库含义加以阐述。参考解答:数据仓库是一个环境,而不是一件产品,提供用户用于决策支持的当前和历史数据。其库用于支持决策,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,而且存放在数据仓库中的数据一般不再修改。3、关系模型的主要特点。参考解答:(1)关系必须规范化。即关系模型中每一个关系模型都必须满足一定的要求。(2)模型概念单一。即关系模型中,无论是实体还是实体间的联系都用关系表示。(3)集合操作。即关系模型中,操作对象和结果都是元组的集合。4、什么是存储过程,它有何优点?存储过程收数据库服务器上一组预先编译好的 SQL 语句,作为一个独立的对象或单元供用户在应用程序中调用.其优点是执行速度快;提高工作效率;规范程序设计;提高系统安全性5、什么是触发器,它有何功能?触发器是一种特殊的存储过程,用于维护数据的完整性。其功能包括:(1)级联修改数据库中相关的表;
(2)执行比检查约束更为复杂的约束操作;(3)拒绝或回滚反引用完整性的操作;(4)比较表修改前后数据之间的差别