




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1. 为什么要备份认识到数据库中数据的重要性和备份它们的重要性。有了备份可以使你在服务器崩溃之后迅速有效地得到数据库的备份产品。除了灾难恢复之外,下述原因是数据备份的理由: 偶然地或恶意地修改或者删除数据。 一些自然灾难,像火灾、水灾或者风暴。 设备被盗或遭到破坏。 从一台机器到另一台机器所进行的数据传输。 永久的数据档案。总之,对于S Q L的管理者来说,有许多理由要进行数据备份,而其中最主要的原因就是从数据灾难中恢复。数据备份工作甚至关系到数据灾害发生后是否你还会有工作。所以,备份是数据库恢复中采用的基本技术。1. 备份定义备份是D B A定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。这些设备的数据文本称为后备副本。当数据库遭到破坏后就可以利用后备副本把数据库恢复。这时,数据库只能恢复到备份时的状态,从那以后的所有更新事务必须重新运行才能恢复到故障时的状态。备份是十分耗费时间和资源的,不能频繁进行。D B A应该根据数据库使用情况确定一个适当的备份周期。2. 备份的两种分类备份可分为静态备份和动态备份。静态备份是指备份期间不允许对数据库进行任何存取、修改活动。动态备份是指备份期间允许对数据库进行存取或修改,即备份和用户事务可以并发执行。静态备份简单,但是备份必须等待用户事务结束才能进行,同样,新的事务必须等待备份结束才能执行。显然,这会降低数据库的可用性。动态备份可克服静态备份的缺点。但是,备份结束后,后备副本上的数据并不能保证正确有效。例如,在备份期间的某时刻,系统把数据备份到了磁带上,而在下一个时刻,某一事务对该数据又进行了修改。备份结束,后备副本上的数据已经是过时的数据了。因此,必须把备份期间各事务对数据库的修改活动登记下来,建立日志文件。这样,后备副本加上日志文件就能把数据库恢复到某一时刻的正确状态。日志文件是用来记录对数据库每一次更新活动的文件。在动态备份方式中必须建立日志文件,后备副本和日志文件综合起来才能有效地恢复数据库。在静态备份方式时,也可以建立日志文件。当数据库毁坏后可重新装入后备副本把数据库恢复到备份结束时刻的正确状态,然后利用日志文件,把已经完成的事务进行重新处理,对故障发生时尚未完成的事务进行撤消处理。这样不必重新运行那些已经完成的事务程序就可把数据库恢复到故障前某一时刻的正确状态。利用日志文件恢复事务的过程分为两步:第一步,从头扫描日志文件,找出哪些事务在故障发生时已经结束(这些事务有B E G I NT R A N S A C T I O N和C O M M I T记录),哪些事务尚未结束(这些事务只有BEGIN TRANSACTION记录,无C O M M I T记录)。第二步,对尚未结束的事务进行撤消(也称为U N D O )处理,对已经结束的事务进行重做( R E D O )处理。进行U N D O处理的方法是,反向扫描日志文件,对每个U N D O事务的更新操作执行反操作。即对已经插入的新记录执行删除操作,对已经删除的记录重新插入,对修改的数据恢复旧值(用旧值代替新值)。进行R E D O处理的方法是,正向扫描日志文件,重新执行登记的操作。对于非正常结束的事务显然应该进行撤消处理,以消除可能对数据库造成的不一致性。对于正常结束的事务进行重做处理也是需要的。这是因为虽然事务已经发出C O M M I T操作,但是更新操作有可能只写到了数据库缓冲区(在内存),还没来得及物理地写到数据库中(外存)便发生了系统故障,数据库缓冲区的内容被破坏,这种情况仍可能造成数据库的不一致性。由于日志文件上事务的更新活动已经完整地登记下来,因此,可以重做这些操作而不必重新运行事务程序。2. 什么时候进行备份现在,你应该认识到备份数据库中数据的重要性了,接下来就是决定何时以及多长时间进行备份操作。SQL Server 提供了多种有效的和可靠的备份数据的方式,大多数都较易使用。何时进行备份,取决于因执行备份而产生的可接受的损失大小,可接受的损失也就是不会对商业造成影响的丢失的数据量,在联机事务处理的环境中,一小时的数据丢失就能造成数百万美金的商业损失,这种情况下是不可以接受的。决定经常备份的另一个因素是数据被改变的程度,如果数据库中数据不是经常变化的,那么只在改变之后备份就可以了,倘若每天数据库都被更新,那么就应该天天做备份。一种经常使用的备份策略是祖父/父亲/儿子、或者世代的备份方案。在这种策略中,每月都进行一次备份,要么在月初,要么在月末,这就是祖父一代备份。父亲一代是周备份,它也应该维持一段时期,比如一年。儿子一代是日备份,在重写之前就应该维持一个月,这种备份的磁带应该保存在一个安全地方,比如防火的安全地方。除了备份时间的间隔之外,下面的因素也会影响备份策略: 备份的介质(磁盘/磁带)是什么? 一天中的什么时间启动备份? 备份存储在什么地方? 维持备份多长时间? 如何检验备份? 如果系统管理员不可用,存在别的用户能改变磁带并确保备份能正常地运行吗?你的备份不应该和数据存储在同一机器上,由于性能的原因,你要经常把数据备份到本地机器的驱动器上,这样做要比备份到磁带上快的多,然后,尽快通过网络将数据拷贝到另一个服务器或者拷贝到磁带。3. 备份哪些数据SQL Server提供了两种方式备份数据库,第一种是备份数据库,这是一种数据库中数据和对象的完全备份,第二种是只备份事务日志,事务日志备份只记录上一次事务日志备份后的改变,一种好的备份方案既有完全数据库备份,又有不断增加的事务日志备份。值得注意的是,许多人们认为完全备份是不能进行的,因为完成操作需要很长的时间,然而,如果拥有既方便又快速的高级的磁带驱动器,日常的完全备份很有必要。你应该对备份的设备进行试验以决定完全备份和事务日志备份的最佳结合点。1. 磁盘备份设备磁盘备份设备能存于本地机器上或者网络服务器上,使用磁盘备份设备备份数据库的优点就是备份过程非常快。当使用本地机器上的磁盘设备时,要注意及时地将备份设备拷贝到磁带上或者网络服务器上,以免因磁盘错误造成损失,当使用一个网络共享的磁盘设备时,你首先必须检查,看是否运行于SQL Server下的服务帐户拥有对该网络磁盘设备的写权限。2. 磁带备份设备目前,SQL Server只支持逻辑磁带设备。SQL Server7不支持网络磁带设备。首先必须使用Windows NT安装一个磁带设备,而后SQL Server才能识别它。当在SQL Server中建立一个磁带设备时,你必须指明Windwos NT分配给它的物理名,第一个安装到计算机上的磁带设备被分配给名字 . Ta p e 0,其他安装的磁带设备的命名以此类推。3. 匿名管道备份设备这是微软专门为第三方软件供应商提供的一种备份和恢复SQL Server方式。匿名管道备份设备不能通过S Q L企业管理器来建立和管理,若要将数据备份到一个匿名管道,必须在引用备份命令时提供管道的名字。4. 备份数据库1. 备份的一般方法可以通过SQL EnterPrise Manager或者Query Analyzer中的B A C K U P命令备份数据库。使用SQL Enterprise Manager,你能调度备份在一天中的任何时候发生。SQL Server备份是动态的,也就是说当用户使用数据库的时候,备份也能进行。然而,最好是在数据库没有进行大量的修改时执行备份,因为备份过程会使系统变慢,在备份语句执行的时候, B A C K U P呈现的是备份时刻的数据库中的数据。在执行备份的时候,可以备份整个数据库,也可以只备份事务日志,单独备份事务日志比备份整个数据库用的存储器少,花费的时间也短。每天定期备份事务日志使得花费几分钟就可恢复一个数据库。你应该定期维护所有数据库的备份。包括: master数据库。 msdb 数据库。 model数据库。 所有的用户数据库。 distribtion数据库(如果服务器配置成一个复制分发服务器)。2. 使用企业管理器来备份数据库1) 在SQL Enterprise Manager窗口中,选择包含你想建立备份的数据库的服务器并与其建立连接。2) 选择backup 按钮或者用鼠标右击将要建立备份的数据库并选择“ Backup Database”,上述两种方法都会显示一个SQL Server Backup对话框。3) 从下拉框中选择要建立备份的数据库。4) 选择备份的参数。如果你选择了“ Database - complete”参数,所有的数据库对象、数据和事务日志都将被备份;如果你选择了“ Transaction log”参数,则只备份事务日志;如果你选择了“ Database - diff e r e n t i a l”参数,则只增量备份;若选择了“ File and filegroup”,则可以挑选独立的文件和文件组,从而建立文件或文件组的备份。5 ) 在De s t i n a t i o n下面,通过“ A d d . . .”选择你将备份的设备,如果要备份到多个设备上,则可以通过“d d”按钮添加多个设备。你也可以在对话框中建立一个新的备份设备。6) 在O v e r w r i t下面,若你想覆盖当前备份设备上的每一项内容,可以选择O v e r w r i t eexisting media选项。否则(Append to media),备份将添加在备份文件上已有的内容后面。7 ) 你可以选择S c h e d u l e调度备份在数据库不用时运行备份任务,你也可以设置它作为一个重复发生的任务。3. 使用备份语句来备份数据库你也可以使用Query Analyzer中的B A C K U P命令备份数据库。你可以在备份之前或者之后运行别的数据完整性检查的命令,下面是B A C K U P命令的完整语法:(1) 备份一个数据库BACKUP DATABASE DBNAME | DBNAME_VA R TO BACKUP_DEVICE, .n w i t h F O R M AT , I N I T | N O I N I T 其中,DBNAME | DBNAME_VA R是指要备份的数据库名。B A C K U P _ D E V I C E:是指备份设备。N O I N I T表示备份数据将添加在备份文件上已有的内容后面。如:BACKUP DATABASE libaray to libraryd with NOINIT , DESCRIPTION = The second full backup of l i b r a r y 。I N I T表示覆盖当前备份设备上的每一项内容,即原来在此设备上的数据信息不存在了。如:BACKUP DATABASE library to Nw1 WITH INIT ,DESCRIPTION = The third full backup of library overwrites all others。正如你在用SQL Server 企业管理器备份数据库时看到的,备份的类型分成:完全备份、增量备份、日志备份以及数据文件和文件组备份。下面,我们依次来说明它们的用途和使用方法。( 2 ) 完全备份完全备份是指,所有的数据库对象、数据和事务日志都将被备份。在上节中对l i b r a r y数据库做的备份的例子(BACKUP DATABASE library to Nw1 WITH INIT)就是完全备份。完全备份适合于备份的数据库较小、或者数据库只有少量的修改。( 3 ) 增量备份增量备份是指,将从最近一次完全备份开始以来所有改变的数据备份到备份设备。如:BACKUP DATABASE library TO DISK = e:MSSQL7BACKUPnwdiff . b a k WITH NOINIT, DIFFERENTIAL增量备份比完全备份节省时间和空间,适合于修改频繁的数据库。( 4 ) 日志备份日志备份是指,将从最近一次日志备份开始以来所有日志备份到备份设备。如:BACKUP LOG library TO nwlog WITH NOINIT日志备份也比完全备份节省时间和空间,适合于修改频繁的数据库。在恢复数据库时,增量备份比日志备份节省恢复的时间,这是因为日志备份存放的仅仅是日志信息,需要按照日志重新插入、修改或删除数据。在通常情况下,完全备份和日志备份结合使用的例子比较多。备份一个事务日志的完整语法如下:BACKUP DATABASE DBNAME | DBNAME_VA R TO BACKUP_DEVICE, .nwith TRUNCAT E _ O N LY | N O _ L O G | N O _ T R U N C AT E o p t i o n s 在_上述语法中, backup_device可以是D I S K、TA P E或P I P E设备,也可以是临时备份设备。 options(选项)是: , U N L O A D | N O U N L O A D , I N I T | N O I N I T , S K I P | N O S K I P , E X P I R E D ATE = date|date_var| RETA I N D AYS = days|days_var这看上去很复杂,你可以将它拆成你使用最多的几部分,当备份一个数据库或者只备份事务日志时,你要提供数据库名字和备份设备名。然而,在备份事务日志时,如果你没有提供备份设备名,你可以提供T R U N C AT E _ O N LY或者N O _ L O G参数选项删除事务日志中的无用部分。选项功能T R U N C AT E _ O N LY 功1 .去掉不活动的日志。2 .该操作做日志。3 .需要立即备份数据库,否则以前的改变无法恢复N O _ L O G 功1 .去掉不活动的日志。2 .该操作不做日志。3 .适用于日志满的情况。4. 需要立即备份数据库,否则以前的改变无法恢复N O _ T R U N C AT E 功1 .备份日志到备份文件。即:不清除日志。2 .当数据库数据部分不可存取时,这个语句也可以备份出日志下面是你能提供的其它的一些参数选项: UNLOAD | NOUNLOAD参数:使你在备份过程结束后能指示SQL Server回倒和弹出磁带,这个参数只用于磁带设备。 INIT | NOINIT参数:使你能指明是否删除在设备上的以前的数据。 SKIP | NOSKIP参数:使你能调入或者不调入磁带上的A N S I头。这个参数只用于磁带设备。 E X P I R E D AT E和R E TA I N D AY S参数:使你能指明一个备份设备的到期的日期或者设备上数据应被保留的天数。( 5 ) 文件和文件组备份一个数据库创建在数据文件和日志文件上,这些文件又可以按照文件组分组。你可以挑选独立的文件和文件组,从而建立文件或文件组的备份。文件和文件组备份适合于很大的数据库。因为一个很大的数据库要完全备份,则需要很多时间。那么,可以将数据库所在的文件或文件组分别备份。假设l i b r a r y数据库创建在3个文件: l i b 1、l i b 2和l i b 3上,日志创建在l i b l o g文件上。那么,可以进行文件备份:BACKUP DATABASE library FILE=lib2 TO librarybk5. 调度备份为保证你的相关的数据库和事务日志定期地备份,你可以使用SQL EnterPrise Manager在正常的时间间隔内调度备份。周期备份可设定为每小时、每天、每周或者每月进行一次。1 ) 如图1 4 - 5所示,在备份数据库的窗口中,单击S c h e d u l e选择框,单击右边的“. . .”按钮。Edit Schedule对话框出现2 ) 选择One Ti m e按钮,设定调度发生的日期和时间或者点击R e c u r r i n g按钮。若你选择建立一个周期备份,则应该单击c h a n g e按钮,这将显示Edit Recurring Job Schedule对话框。3) 在这个对话框中,可以设置数据库备份发生的日期、时间和频率。也可以设置任务运行的日期间隔。调度备份之后,点击O K按钮,关闭该对话框。4) 点击Edit Schedule对话框中的O K按钮以完成调度备份,然后关闭备份对话框。6. 备份系统数据库和用户数据库一样,系统数据库也要定期进行备份,尤其是m a s t e r和m s d b数据库。如果你的服务器配置为参与复制过程的话, d i s t r i b u t i o n数据库也应该被备份。1. 备份m a s t e r数据库m a s t e r数据库包含SQL Server配置的信息和服务器上所有其他数据库的有关信息,应该定期备份这个数据库,尤其是在改变了SQL Server的配置或者它包含的数据库之后。下面的任一活动发生之后,都应该备份数据库: 在数据上使用了C R E AT E和A LT E R语句。 使用了DBCC SHRINKDB命令。 添加或删除l o g i n s或者改变了用户的安全权限。 建立、删除、改变数据库或者备份设备的大小。2. 备份m s d b数据库m s d b数据库是SQL Server Agent使用的数据库。它是所有调度任务以及这些任务历史的存储区。只要增加或者修改任务,增加或者修改自动备份任务, m s d b数据库的或者改变警报,这个数据库都会发生改变。缺省情况下, SQL Server安装时,Truncate log On Checkpoint选项是打开的,为了执行事务日志备份,你必须关闭这个参数选项,你能够像备份用户数据库一样来备份这个数据库。3. 备份d i s t r i b u t i o n数据库如果SQL Server配置为一个远程分发服务器或复制过程中的出版服务器/分发服务器,那么必定有一个数据库专注于分发过程。缺省情况下,这个数据库的名字是d i s t r i b u t i o n,但是在配置复
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中学教师资格考试《综合素质》教育理念案例分析题集及答案剖析
- 2025年初中学业水平考试地理模拟卷及答案:地质灾害防治案例分析及对策试题
- 2025年统计学期末考试题库-统计调查设计与实施实践操作题集
- 2025年消防安全知识培训考试题库:火灾预防与逃生消防设施处置试题
- 2025年成人高考语文《语言得体表达》模拟试题库
- 2025年初中地理模拟试卷及答案:地质灾害防治科普知识问答试题
- 2025广东广州市增城区仙村镇卫生院乡村医生招聘1人备考题库及答案解析
- 2025辽宁省事业单位面向塔城籍高校毕业生招聘事业编制工作人员9人备考题库及答案解析
- 2025广东省中医院海南医院招聘工作人员78人笔试参考题库附答案解析
- 2025江苏南京机电产业(集团)有限公司招聘1人备考题库及答案解析
- 《大数据基础》 课件 项目一 走进大数据
- 橡皮障隔离术知情同意书
- 临床医学内科学-消化系统疾病-肠结核和结核性腹膜炎
- 营区物业服务投标方案(技术标)
- 小学语文人教版一年级上册《我上学了单元整备课》word版教案
- 小学生小古文100篇
- 高效能人士七个习惯
- 血浆置换在危重病人中的应用教学课件
- 六年级上册科学全册练习题(2022年新教科版)
- 沉井下沉纠偏措施
- 教师专业发展与名师成长(学校师范专业公共课)
评论
0/150
提交评论