收藏 分销(赏)

数据库备份和还原.pptx

上传人:胜**** 文档编号:1479729 上传时间:2024-04-28 格式:PPTX 页数:61 大小:661.65KB
下载 相关 举报
数据库备份和还原.pptx_第1页
第1页 / 共61页
数据库备份和还原.pptx_第2页
第2页 / 共61页
数据库备份和还原.pptx_第3页
第3页 / 共61页
数据库备份和还原.pptx_第4页
第4页 / 共61页
数据库备份和还原.pptx_第5页
第5页 / 共61页
点击查看更多>>
资源描述

1、第第第第13131313章章章章 数据库备份和还原数据库备份和还原数据库备份和还原数据库备份和还原电气与电子工程学院电气与电子工程学院18 18 四月四月 2024 2024n避免数据丢失是数据库管理员需要面对的最关键的问题之一。尽管在SQLServer2008中采取了许多措施来保证数据库的安全性和完整性,但故障仍不可避免,仍会影响甚至破坏数据库,造成数据丢失。同时还存在其他一些可能造成数据丢失的因素,例如用户的操作失误、蓄意破坏、病毒攻击和自然界不可抗力等。因此,SQLServer2008指定了一个良好的备份还原策略,定期将数据库进行备份以保护数据库,以便在事故发生后还原数据库。18 18

2、四月四月 2024 2024n13.1数据库备份概述n对于计算机用户来说,对一些重要文件、资料定期进行备份是一种良好的习惯。如果出现突发情况,比如系统崩溃、系统遭受病毒攻击等,使得原先的文件遭到破坏以至于全部丢失,启用文件备份,就可以节省大量的时间和精力。n数据库备份就是在某种介质上(磁盘、磁带等)创建完整数据库(或者其中一部分)的副本,并将所有的数据项都复制到备份集,以便在数据库遭到破坏时能够恢复数据库。18 18 四月四月 2024 2024n对SQLServer2008数据库或事务日志进行备份,就是记录在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其还原。

3、执行备份操作必须拥有对数据库备份的权限许可,SQLServer2008只允许系统管理员、数据库所有者和数据库备份执行者备份数据库。nSQLServer2008提供了高性能的备份和还原功能以及保护手段,以保护存储在SQLServer2008数据库中的关键数据。通过适当的备份,可以使用户能够在发生多种可能的故障后恢复数据,这些故障主要包括:系统故障;用户错误:例如,误删除了某个表或某些数据;硬件故障:例如,磁盘驱动器损坏;自然灾害。18 18 四月四月 2024 2024n13.1.1数据库备份计划n创建备份的目的是为了可以恢复已损坏的数据库。但是,备份和还原数据需要在特定的环境中进行,并且必须使

4、用一定的资源。因此,在备份数据库之前,需要对备份内容、备份频率以及数据备份存储介质等进行计划。18 18 四月四月 2024 2024n1备份内容n备份内容主要包括:系统数据库、用户数据库和事务日志。n(1)系统数据库记录了SQLServer系统配置参数、用户资料以及所有用户数据库等重要信息,主要包括master、msdb和model数据库。n(2)用户数据库中存储了用户的数据。由于用户数据库具有很强的区别性,即每个用户数据库之间的数据一般都有很大差异,所以对用户数据库的备份更为重要。n(3)事务日志记录了用户对数据库中数据的各种操作,平时系统会自动管理和维护所有的数据库事务日志。相比数据库备

5、份,事务日志备份所需要的时间较少,但是还原需要的时间较多。18 18 四月四月 2024 2024n2备份频率n数据库备份频率一般取决于修改数据库的频繁程度,以及一旦出现意外丢失的工作量的大小,还有发生意外丢失数据的可能性大小。n一般来说,在正常使用阶段,对系统数据库的修改不会十分频繁,所以对系统数据库的备份也不需要十分频繁,只需要在执行某些语句或存储过程导致SQLServer2008对系统数据库进行了修改的时候备份。n当在用户数据库中执行了加入数据、创建索引等操作时,应该对用户数据库进行备份,此外,如果清除了事务日志,也应该备份数据库。18 18 四月四月 2024 2024n3备份存储介质

6、n常用的备份存储介质包括硬盘、磁带和命令管道等。具体使用哪一种介质,要考虑用户的成本承受能力、数据的重要程度、用户的现有资源等因素。在备份中使用的介质确定以后,一定要保持介质的持续性,一般不要轻易地改变。18 18 四月四月 2024 2024n4其它计划n(1)确定备份工作的负责人。备份负责人负责备份的日常执行工作,并且要经常进行检查和督促。这样,可以明确责任,确保备份工作得到人力保障。n(2)确定使用在线备份还是脱机备份。在线备份就是动态备份,允许用户继续使用数据库。脱机备份就是在备份时,不允许用户使用数据库。虽然备份是动态的,但是用户的操作会影响数据库备份的速度。18 18 四月四月 2

7、024 2024n(3)确定是否使用备份服务器。在备份时,如果有条件最好使用备份服务器,这样可以在系统出现故障,迅速还原系统的正常工作。当然,使用备份服务器会增大备份的成本。n(4)确定备份存储的地方。备份是非常重要的内容,一定要保存在安全的地方。在保存备份时应该实行异地存放,并且每套备份的内容应该有两份以上的备份。n(5)确定备份存储的期限。对于一般性的业务数据可以确定一个比较短的期限,但是对于重要的业务数据,需要确定一个比较长的期限。期限愈长,需要的备份介质就愈多,备份成本也随之增大。18 18 四月四月 2024 2024n总之,备份应该按照需要经常进行,并进行有效的数据管理。SQLSe

8、rver2008备份可以在数据库使用时进行,但是一般在非高峰活动时备份效率更高。另外,备份是一种十分耗费时间和资源的操作,不能频繁操作。应该根据数据库的使用情况确定一个适当的备份周期。18 18 四月四月 2024 2024n13.1.2数据库备份的类型n在SQLServer系统中,有4种备份类型,分别如下所示:n完整数据库备份。n差异数据库备份。n事务日志备份。n数据库文件或文件组备份。18 18 四月四月 2024 2024n1完整数据库备份n完整数据库备份将备份整个数据库,包括事务日志部分(以便可以恢复整个备份)。完整数据库备份代表备份完成时的数据库,通过包括在备份中的事务日志,可以使用

9、备份恢复到备份完成时的数据库。n创建完整数据库备份是单一操作,通常会安排该操作定期发生。如果数据库主要是只进行读操作,那么完整数据库备份能有效地防止数据丢失。18 18 四月四月 2024 2024n完整数据库备份易于使用。因为完整数据库备份包含数据库中的所有数据,所以对于可以快速备份的小数据库而言,最佳方法就是使用完整数据库备份。但是,随着数据库的不断增大,完整备份需花费更多时间才能完成,并且需要更多的存储空间。因此,对于大型数据库而言,您可以用差异数据库备份来补充完整数据库备份。18 18 四月四月 2024 2024n2差异数据库备份n差异数据库备份只备份自上一次完整数据库备份发生改变的

10、内容和在差异数据库备份过程中所发生的所有活动。差异数据库备份基于以前的完整数据库备份,因此,这样的完整数据库备份称为“基准备份”。差异备份比完整备份更小、更快,可以简化频繁的备份操作,减少数据丢失的风险。为了减少还原频繁修改数据库的时间,可以执行差异备份。18 18 四月四月 2024 2024n如果数据库的某个子集比该数据库的其余部分修改得更为频繁,则差异数据库备份特别有用。在这些情况下,使用差异数据库备份,您可以频繁执行备份,并且不会产生完整数据库备份的开销。n对于大型数据库,完整数据库备份需要大量磁盘空间。为了节省时间和磁盘空间,可以在一次完整数据库备份后安排多次差异备份。每次连续的差异

11、数据库备份都大于前一次备份,这就需要更长的备份时间、还原时间和更大的空间。因此,可以定期执行新的完整备份以提供新的差异基准。18 18 四月四月 2024 2024n当使用差异数据库备份时,最好遵循以下原则:n在每次完整数据库备份后,定期安排差异数据库备份。例如,可以每四小时执行一次差异数据库备份,对于活动性较高的系统,此频率也可以更高。n在确保差异备份不会太大的情况下,定期安排新的完整数据库备份。例如,可以每周备份一次完整数据库。18 18 四月四月 2024 2024n3事务日志备份n备份事务日志可以记录数据库的更改,但前提是在执行了完整数据库备份之后。可以使用事务日志备份将数据库恢复到特

12、定的即时点(如输入多余数据前的那一点)或恢复到故障点。n恢复事务日志备份时,SQLServer2008重做事务日志中记录的所有更改。当SQLServer2008到达事务日志的最后时,已重新创建了与开始执行备份操作的那一刻完全相同的数据库状态。如果数据库已经恢复,则SQLServer2008将回滚备份操作开始时尚未完成的所有事务。18 18 四月四月 2024 2024n一般情况下,事务日志备份比数据库备份使用的资源少,因此可以比数据库备份更经常地创建事务日志备份,经常备份将减少丢失数据的危险。n图13-1所示为基于完全恢复模型(详见13.2节)下的1个完全备份N个连续的事务日志备份的策略。如果

13、中间的日志备份02删除或者损坏,则数据库只能恢复到日志备份01的即时点。18 18 四月四月 2024 2024n假如日志备份01、02和03都是完整的,那么在恢复时,先恢复数据库完全备份,然后依次恢复日志备份01、02和03。如果要恢复到故障点,就需要看数据库的当前日志是否完整,如果是完整的,可以做一个当前日志的备份,然后依次恢复日志备份04就可以了。图13-1 事务日志备份与恢复原理数据库完全备份日志备份01 日志备份02 日志备份01当前日志备份04故障点18 18 四月四月 2024 2024n4数据库文件或文件组备份n对超大型数据库执行完全数据库备份是不可行的,可以执行数据库文件或文

14、件组备份。n备份文件或文件组时,可以只备份FILE或FILEGROUP选项中指定的数据库文件。在备份数据库文件或文件组时应考虑以下几点。n必须指定逻辑文件或文件组。n必须执行事务日志备份,使还原的文件与数据库的其他部分相一致。n最多可以指定16个文件或文件组。n应制定轮流备份每个文件的计划。18 18 四月四月 2024 2024n13.2数据库还原概述n备份是还原数据库最容易和最能防止意外的有效方法。没有备份,所有的数据都可能会丢失,而且将造成不可挽回的损失,这时就不得不从源头重建数据;有了备份,万一数据库被损坏,就可以使用备份来还原数据库。18 18 四月四月 2024 2024n13.2

15、.1数据库还原策略n还原数据库是一个装载数据库的备份,然后应用事务日志重建的过程,这是数据库管理员另一项非常重要的工作。应用事务日志之后,数据库就会回到最后一次事务日志备份之前的状况。在数据库备份之前,应该检查数据库中数据的一致性,这样才能保证顺利地还原数据库备份。在数据库的还原过程中,用户不能进入数据库,当数据库被还原后,数据库中的所有数据都被替换掉。数据库备份是在正常情况下进行的,而数据库还原是在诸如硬件故障、软件故障或误操作等非正常的状态下进行的,因而其工作更加重要和复杂。18 18 四月四月 2024 2024n数据还原策略认为所有的数据库一定会在它们的生命周期的某一时刻需要还原。数据

16、库管理员职责中很重要的部分就是将数据还原的频率降到最低,并在数据库遭到破坏之前进行监视,预计各种形式的潜在风险所能造成的破坏,并针对具体情况制定恢复计划,在破坏发生时及时地恢复数据库。18 18 四月四月 2024 2024n还原方案从一个或多个备份中还原数据,并在还原最后一个备份后恢复数据库。如果数据库做过完全备份和事务日志备份,那么还原它是很容易的,倘若保持着连续的事务日志,就能快速地重新构造和建立数据库。还原数据库是一个装载最近备份的数据库和应用事务日志来重建数据库到失效点的过程。定点还原可以把数据库还原到一个固定的时间点,这种选项仅适用于事务日志备份。当还原事务日志备份时,必须按照它们

17、建造的顺序还原。18 18 四月四月 2024 2024n在还原一个失效的数据库之前,调查失效背后的原因是很重要的。如果数据库的损坏是由介质错误引起的,那么就需要替换失败的介质。倘若是由于用户的问题而引起的,那么就需要针对发生的问题和今后如何避免采取相应的对策。如果是由系统故障或自然灾害引起的,那么就只能具体问题具体分析,根据损害的程度采取相应的对策。比如死机,只需重新启动操作系统和SQLServer服务器,重做没有提交的事务;如果数据库损坏,可以通过备份还原;而如果介质损坏,只能替换;等等。18 18 四月四月 2024 2024n13.2.2数据库恢复模式n数据库的恢复模式是数据库遭到破坏

18、时还原数据库中数据的数据存储方式,它与可用性、性能、磁盘空间等因素相关。备份和还原操作是在“恢复模式”下进行的,恢复模式是一个数据库属性,它用于控制数据库备份和还原操作基本行为。n每一种恢复模式都按照不同的方式维护数据库中的数据和日志。MicrosoftSQLServer2008系统提供了3种数据库的恢复模式:n完整恢复模式。n简单恢复模式。n大容量日志恢复模式。18 18 四月四月 2024 2024n1完整恢复模式n完整恢复模式是等级最高的数据库恢复模式。在完整恢复模式中,对数据库的所有的操作都记录在数据库的事务日志中。即使那些大容量数据操作和创建索引的操作,也都记录在了数据库的事务日志中

19、。当数据库遭到破坏之后,可以使用该数据库的事务日志迅速还原数据库。18 18 四月四月 2024 2024n在完整恢复模式中,由于事务日志记录了数据库的所有变化,所以可以使用事务日志将数据库还原到任意的时刻点。但是,这种恢复模式耗费大量的磁盘空间。除非是那种事务日志非常重要的数据库备份策略,一般不使用这种恢复模式。n这种恢复模式的特点是:n许将数据库还原到故障点状态。n数据库可以进行四种备份方式中的任何一种。n可以还原到即时点。18 18 四月四月 2024 2024n这种模式的优点是数据丢失或损坏不导致工作损失,可还原到即时点。但所有修改都记录在日志中,发生某些大容量操作时日志文件增长太快。

20、如果系统符合下列任何要求,则使用完整恢复模式:n用户必须能够恢复所有数据。n数据库包含多个文件组,并且希望逐段还原读写辅助文件组(以及只读文件组)。n必须能够恢复到故障点。18 18 四月四月 2024 2024n2简单恢复模式n简单恢复模式简略地记录大多数事务,所记录的信息只是为了确保在系统崩溃或还原数据备份之后数据库的一致性。n对于那些规模比较小的数据库或数据不经常改变的数据库来说,可以使用简单恢复模式。当使用简单恢复模式时,可以通过执行完全数据库备份和差异数据库备份来还原数据库,数据库只能还原到执行备份操作的时刻点。执行备份操作之后的所有数据修改都丢失并且需要重建。18 18 四月四月

21、2024 2024n这种恢复模式的特点是:n允许将数据库还原到最新的备份。n数据库只能进行完全数据库备份和差异备份,不能进行事务日志备份以及文件和文件组备份。n不能还原到某个即时点。18 18 四月四月 2024 2024n这种模式的优点是所有操作使用最少的日志空间记录,节省空间,恢复模式最简单。如果系统符合下列所有要求,则使用简单恢复模式:n丢失日志中的一些数据无关紧要。n无论何时还原主文件组,用户都希望始终还原读写辅助文件组(如果有)。n是否备份事务日志无所谓,只需要完整差异备份。n不在乎无法恢复到故障点以及丢失从上次备份到发生故障时之间的任何更新。18 18 四月四月 2024 2024

22、n3大容量日志恢复模式n就像完整恢复模式一样,大容量日志恢复模式也使用数据库备份和日志备份来还原数据库。但是,在使用了大容量日志恢复模式的数据库中,其事务日志耗费的磁盘空间远远小于使用完整恢复模式的数据库的事务日志。n此模式简略地记录大多数大容量操作(例如,索引创建和大容量加载),完整地记录其他事务。大容量日志恢复提高大容量操作的性能,常用作完整恢复模式的补充。18 18 四月四月 2024 2024n这种恢复模式的特点是:n还原允许大容量日志记录的操作。n数据库可以进行四种备份方式中的任何一种。n不能还原到某个即时点。n这种模式的优点是对大容量操作使用最少的日志记录,节省日志空间;缺点是丧失

23、了恢复到即时点的功能,如非特别需要,否则不建议使用此模式。18 18 四月四月 2024 2024n在MicrosoftSQLServer2008系统中有两种设置数据库恢复模式的方式,即SQLServerManagementStudio和ALTERDATABASE语句。n这里主要介绍前一种方法:在SQLServerManagementStudio环境下,选中将要设置恢复模式的数据库,右击数据库,从弹出的快捷菜单中选中“属性”命令,将出现“数据库属性”对话框。在该对话框的“选项”页中,可以从“恢复模式”下拉列表中选择恢复模式,图中所示椭圆形区域内指定了“教学库”的恢复模式,即完整恢复模式。18

24、18 四月四月 2024 2024n简单恢复模式同时支持数据库备份和文件备份,但不支持事务日志备份。备份非常易于管理,因为始终不会备份事务日志。但是,如果没有日志备份,数据库只能还原到最近数据备份的末尾。如果操作失败,则在最近数据备份之后所做的更新便会全部丢失。n在完整恢复模式和大容量日志恢复模式下,差异数据库备份将最大限度地减少在还原数据库时回滚事务日志备份所需的时间。n事务日志备份只能与完整恢复模型和大容量日志记录恢复模型一起使用。在简单模型下,事务日志有可能被破坏,所以事务日志备份可能不连续,不连续的事务日志备份没有意义,因为基于日志的恢复要求日志是连续的。18 18 四月四月 2024

25、 2024n13.3数据库备份操作n在MicrosoftSQLServer2008中,数据库备份操作有两种方式:在SQLServerManagementStudio中使用界面备份数据库和使用T-SQL语句备份数据库。n1.在SQLServerManagementStudio中使用界面备份数据库n【例13-1】在SQLServerManagementStudio的对象资源管理器中创建“教学库”的完整数据库备份,操作步骤如下:18 18 四月四月 2024 2024n(1)在对象资源管理器中展开“教学库”数据库。n(2)鼠标右击“教学库”,在弹出的快捷菜单中选择“任务”子菜单,然后选择“备份”命令

26、,弹出“备份数据库-教学库”窗口。n(3)在“数据库”下拉列表框中选择“教学库”作为准备备份的数据库。在“备份类型”下拉列表框中,选择需要的类型,这是第一次备份,选择“完整”选项,在“名称”文本框中输入要备份的名称。n(4)由于没有磁带设备,所以只能备份到“磁盘”。单击“添加”按钮,重新选择路径和命名文件名,最后单击“确定”按钮。18 18 四月四月 2024 2024n(5)单击窗口左边的“选项”选项,左上角椭圆形区域。对“备份到现有媒体集”选项进行设置,此选项的含义是备份媒体的现有内容被新备份重写。在“备份到现有媒体集”选项中含有两个选项:“追加到现有备份集”和“覆盖所有现有备份集”。其中

27、“追加到现有备份集”是媒体上以前的内容保持不变,新的备份在媒体上次备份的结尾处写入。“覆盖所有现有备份集”是重写备份设备中任何现有的备份。此处选中“追加到现有备份集”单选按钮,单击“确定”按钮,数据备份完成.18 18 四月四月 2024 2024n2使用T-SQL语句备份数据库n使用T-SQL语句备份数据库的基本语法格式如下:nBACKUPDATABASEdatabase_name|database_name_var nTO,.nnWITHnBLOCKSIZE=blocksize|blocksize_variablen,DESCRIPTION=text|text_variablen,DIFF

28、ERENTIALn,EXPIREDATE=date|date_varn,PASSWORD=password|password_variablen,FORMAT|NOFORMATn,INIT|NOINITn18 18 四月四月 2024 2024n注意:如果要备份特定的文件或文件组在BACKUPDATABASE语句中加入,n 参数即可;如果要进行事务日志备份则使用BACKUPLOG。详细内容请参考MicrosoftSQLServer2008的联机帮助。n【例13-2】将整个教学库完整备份到磁盘上,并创建一个新的媒体集。nBACKUPDATABASE教学库nTODISK=E:BACKUP教学库.B

29、aknWITHFORMAT,nNAME=教学库的完整备份18 18 四月四月 2024 2024n在“教学库”中,创建一个任意的新表,表名“Table”。n【例13-3】创建教学库的差异数据库备份。nBACKUPDATABASE教学库nTODISK=E:BACKUP教学库差异备份.BaknWITHDIFFERENTIAL18 18 四月四月 2024 2024n13.4数据库还原操作nSQLServer提供了数据库的两种还原过程:自动还原过程和手动还原过程。n13.4.1自动还原n自动还原是指SQLServer数据库在每次出现错误或关机重启之后SQLServer都会自动运行带有容错功能的特性。

30、SQLServer用事务日志来完成这项任务,它读取每个数据库事务日志的活动部分,标识所有已经提交的事务,把它们重新应用于数据库,然后标识所有未提交的事务并回滚,这样保证删除所有未完全写入数据库的未提交事务。这个过程保证了每个数据库逻辑上的一致性。18 18 四月四月 2024 2024n13.4.2手动还原n手动还原数据库需要指定数据库还原工作的应用程序和接下来的按照创建顺序排列的事务日志的应用程序。完成这些之后,数据库就会处于和事务日志最后一次备份时一致的状态。n如果使用完全数据库备份来还原,SQLServer重新创建这些数据库文件和所有的数据库对象;如果使用差异数据库备份来还原,则可以还原

31、最近的差异数据库备份。18 18 四月四月 2024 2024n在MicrosoftSQLServer2008中,数据库还原操作有两种方式:在SQLServerManagementStudio中使用界面和使用T-SQL语句还原数据库。n1.在SQLServerManagementStudio中使用界面还原数据库n【例13-4】在SQLServerManagementStudio的对象资源管理器中利用“教学库”的完整数据库备份还原“教学库”,操作步骤如下:n(1)在对象资源管理器中展开“教学库”数据库。n(2)鼠标右击“教学库”,在弹出的快捷菜单中选择“任务”子菜单,然后选择“还原”-“数据库”

32、命令,弹出“还原数据库-教学库”窗口。18 18 四月四月 2024 2024n(3)选择要还原的目标数据库为“教学库”,选择用于还原的备份集为“教学库的完整备份”。选择左边的“选项”选项。在“还原选项”中选择“覆盖现有数据库”复选框;在“将数据库文件还原为”中查看或修改“原始文件名”和“还原为”中的文件名,此处都为“教学库”的相应文件;在“恢复状态”选项区域中,选择需要的选项,此处为默认的第一项。n(4)单击“确定”按钮,数据库还原操作完成。打开“教学库”,可以看到其中的数据进行了还原。看不到其中的“Table”表,因为只进行了完整数据库备份的还原。18 18 四月四月 2024 2024n

33、【例13-5】在对象资源管理器中利用教学库的差异数据库备份还原教学库,操作步骤和还原完整数据库备份基本相同。n在“还原数据库-教学库”窗口,选择用于还原的备份集为“教学库的差异备份”,“数据库完整备份”会自动被选中,因为在还原差异备份之前,必须先还原其基准备份。还原操作完成后,打开“教学库”,可以看到完整备份时的数据,也可以看到其中的“Table”表,因为还原了完整数据库备份后的差异数据库备份。18 18 四月四月 2024 2024n2使用T-SQL语句还原数据库nRESTOREDATABASEdatabase_name|database_name_varnFROM,.nnWITHn,FIL

34、E=backup_set_file_number|backup_set_file_numbern,KEEP_REPLICATIONn,MEDIANAME=media_name|media_name_variablen,MEDIAPASSWORD=mediapassword|mediapassword_variablen,MOVElogical_file_name_in_backupTOoperating_system_file_namen,.nn,PASSWORD=password|password_variablen,RECOVERY|NORECOVERY|STANDBY=nstandby_

35、file_name|standby_file_name_varn,REPLACEn18 18 四月四月 2024 2024n【例13-6】将“教学库”数据库的完整数据库备份进行还原。nRESTOREDATABASE教学库nFROMDISK=EBACKUP教学库.BaknWITHREPLACE,NORECOVERYn【例13-7】将“教学库”数据库的差异数据库备份进行还原。nRESTOREDATABASE教学库nFROMDISK=E:BACKUP教学库差异备份.BaknWITHRECOVERY18 18 四月四月 2024 2024n13.5数据库分离与附加nSQLServer2008允许分离数

36、据库的数据和事务日志文件,然后将其重新附加到同一台或另一台服务器上。分离数据库将从SQLServer删除数据库,但是保证在组成该数据库的数据和事务日志文件中的数据库完好无损。然后这些数据和事务日志文件可以用来将数据库附加到任何SQLServer实例上,这使数据库的使用状态与它分离时的状态完全相同。18 18 四月四月 2024 2024n例如,如果您数据库系统安装在系统盘(比如C盘),由于C盘容易受病毒侵害,您也许希望您的数据存放在非系统盘(比如D盘),要做到这点很简单,您并不需要重装数据库,只要把数据库“分离”,然后将相关文件移动到D盘的某个目录,接着“附加”数据库即可。18 18 四月四月

37、 2024 2024n13.5.1分离数据库n在MicrosoftSQLServer2008中,数据库分离操作有两种方式:在SQLServerManagementStudio中使用界面和使用T-SQL语句分离数据库。n1.在SQLServerManagementStudio中使用界面分离数据库n操作步骤如下:n(1)在对象资源管理器中展开要分离的数据库。n(2)鼠标右击数据库名称,在弹出的快捷菜单中选择“任务”子菜单,然后选择“分离”命令18 18 四月四月 2024 2024n(3)弹出“分离数据库”对话框。单击“确定”按钮即可完成数据库的分离。n再打开对象资源管理器,被分离的数据库就不存在

38、了。但是,在存储此数据库的物理位置(即某磁盘目录下),其数据文件和日志文件仍然存在,可以任意拷贝。n注意,只有“使用本数据库的连接”数为0时,该数据库才能分离。所以分离数据库时尽量断开所有对要分离数据库操作的连接,如果还有连接数据库的程序,会出现分离数据库失败对话框。可以选中“删除连接”复选框从服务器强制断开现有的连接。18 18 四月四月 2024 2024n2使用T-SQL语句分离数据库n可以使用系统存储过程sp_detach_db分离该数据库。sp_detach_db存储过程从服务器分离数据库,并可以选择在分离前在所有的表上运行UPDATESTATISTICS。n其语法格式如下:nsp_

39、detach_dbdbname=dbnamen,skipchecks=skipchecksn【例13-8】分离仓库库存数据库,并将skipchecks设为true。nEXECsp_detach_db仓库库存,true18 18 四月四月 2024 2024n13.5.2附加数据库n与分离对应的是附加数据库操作。附加数据库可以很方便地在SQLServer2008服务器之间利用分离后的数据文件和日志文件组织成新的数据库。数据库的附加好比是将衣服(数据库)重新挂上衣架(SQLServer2008服务器)。n在MicrosoftSQLServer2008中,数据库附加操作有两种方式:在SQLServe

40、rManagementStudio中使用界面附加数据库和使用T-SQL语句附加数据库。18 18 四月四月 2024 2024n1.在SQLServerManagementStudio中使用界面附加数据库n附加数据库的操作步骤如下:n(1)在对象资源管理器中鼠标右击数据库,选择“附加”命令。n(2)在弹出“附加数据库”对话框中,单击“添加”按钮。n(3)在弹出“定位数据库文件”对话框中,选择要附加的磁盘上的数据库文件,再单击“确定”按钮。n(4)可以看到添加进来的数据库的数据文件和日志文件,单击“确定”按钮,完成数据库的附加。18 18 四月四月 2024 2024n2使用T-SQL语句附加数

41、据库n可以使用系统存储过程sp_attach_db将数据库附加到当前服务器或使用系统存储过程sp_attach_single_file_db将只有一个数据文件的数据库附加到当前服务器。n(1)系统存储过程sp_attach_db附加数据库语法格式:nsp_attach_dbdbname=dbnamen,filename1=filename_n,.1618 18 四月四月 2024 2024n(2)系统存储过程sp_attach_single_file_db附加只有一个数据文件的数据库的语法格式:nsp_attach_single_file_dbdbname=dbname,physname=ph

42、ysical_namen其中,physname=phsyical_name为据库文件的物理名称,包括路径。physical_name的数据类型为nvarchar(260),默认值为NULL。n【例13-10】附加仓库库存数据库到当前服务器。nEXECsp_attach_single_file_dbdbname=仓库库存,nphysname=F:DATA仓库库存.mdf18 18 四月四月 2024 2024n分离和附加数据库的操作可以将数据库从一台计算机移到另一台计算机,而不必重新创建数据库,当附加到数据库上时,必须指定主数据文件的名称和物理位置。主文件包含查找由数据库组成的其他文件所需的信息。如果存储的文件位置发生了改变,就需要手工指定次要数据文件和日志文件的存储位置。18 18 四月四月 2024 2024

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服