第 13 讲 备份与恢复

71
13 13 第第第第第 第第第第第 13.1 13.1 第第第第第第第第第第 第第第第第第第第第第 13.2 13.2 第第第第第第第第第第第 第第第第第第第第第第第 13.3 13.3 第第第第第 第第第第第 13.4 13.4 第第第第第 第第第第第 13.5 13.5 第第第第第 第第第第第

Upload: yvonne-buckner

Post on 03-Jan-2016

117 views

Category:

Documents


7 download

DESCRIPTION

第 13 讲 备份与恢复. 13.1 备份与恢复的基本概念 13.2 备份与恢复的类型和策略 13.3 备份数据库 13.4 恢复数据库 13.5 维护数据库. 虽然 SQL Server 2000 提供了内置的安全性和数据保护,这种安全管理主要是为防止非法登录者或非授权用户对 SQL Server 2000 数据库或数据造成破坏,但在有些情况下这种安全管理机制显得力不从心。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 13 讲  备份与恢复

第第 1313 讲 备份与恢复讲 备份与恢复 13.1 13.1 备份与恢复的基本概念备份与恢复的基本概念

13.2 13.2 备份与恢复的类型和策略备份与恢复的类型和策略

13.3 13.3 备份数据库备份数据库

13.4 13.4 恢复数据库恢复数据库

13.5 13.5 维护数据库维护数据库

Page 2: 第 13 讲  备份与恢复

虽然虽然 SQL Server 2000SQL Server 2000 提供了内置的提供了内置的安全性和数据保护,这种安全管理主要是为安全性和数据保护,这种安全管理主要是为防止非法登录者或非授权用户对防止非法登录者或非授权用户对 SQL ServeSQL Server 2000 r 2000 数据库或数据造成破坏,但在有些情数据库或数据造成破坏,但在有些情况下这种安全管理机制显得力不从心。况下这种安全管理机制显得力不从心。

例如合法用户不小心对数据库数据做了例如合法用户不小心对数据库数据做了不正确的操作,或者保存数据库文件的磁盘不正确的操作,或者保存数据库文件的磁盘遭到损坏,或者运行遭到损坏,或者运行 SQL Server 2000 SQL Server 2000 的的服务器因某种不可预见的事情而导致崩溃,服务器因某种不可预见的事情而导致崩溃,所以我们需要提出另外的方案,即数据库的所以我们需要提出另外的方案,即数据库的备份和恢复来解决这种问题。备份和恢复来解决这种问题。

Page 3: 第 13 讲  备份与恢复

13.1 13.1 备份与恢复的基本概念备份与恢复的基本概念

备份和恢复组件是 备份和恢复组件是 SQL Server 2SQL Server 2000 000 的重要组成部分。的重要组成部分。

备份就是指对备份就是指对 SQL Server SQL Server 数据库数据库或事务日志进行拷贝,数据库备份记录了在或事务日志进行拷贝,数据库备份记录了在进行备份这一操作时数据库中所有数据的状进行备份这一操作时数据库中所有数据的状态,如果数据库因意外而损坏这些备份文件态,如果数据库因意外而损坏这些备份文件将在数据库恢复时被用来恢复数据库。将在数据库恢复时被用来恢复数据库。

Page 4: 第 13 讲  备份与恢复

由于由于 SQL Server 2000 SQL Server 2000 支持在线备份,所以通常情况下,可一边进行备份,一边支持在线备份,所以通常情况下,可一边进行备份,一边进行其他操作,但是在备份过程中,不允许执行以下操作:进行其他操作,但是在备份过程中,不允许执行以下操作:

(( 11)创建或删除数据库文件。)创建或删除数据库文件。 (( 22)创建索引。)创建索引。 (( 33)执行非日志操作。)执行非日志操作。 (( 44)自动或手工缩小数据库或数据库文件大小。)自动或手工缩小数据库或数据库文件大小。

Page 5: 第 13 讲  备份与恢复

恢复就是把遭受破坏或丢失数据恢复就是把遭受破坏或丢失数据或出现错误的数据库恢复到原来的正常状或出现错误的数据库恢复到原来的正常状态,这一状态是由备份决定的,但是为了态,这一状态是由备份决定的,但是为了维护数据库的一致性维护数据库的一致性 ,, 在备份中,未完成在备份中,未完成的事务并不进行恢复。的事务并不进行恢复。

进行备份和恢复的工作主要是由数进行备份和恢复的工作主要是由数据库管理员来完成的,实际上数据库管理据库管理员来完成的,实际上数据库管理员日常比较重要、比较频繁的工作就是对员日常比较重要、比较频繁的工作就是对数据库进行备份和恢复。 数据库进行备份和恢复。

Page 6: 第 13 讲  备份与恢复

13.2 13.2 备份与恢复的类型和策略备份与恢复的类型和策略13.2.1 13.2.1 数据库备份的类型数据库备份的类型

在在 SQL Server 2000SQL Server 2000 中有中有 44 种备份类种备份类型,分别为:型,分别为:

数据库备份(数据库备份( Database BackupsDatabase Backups )) 事务日志备份(事务日志备份( Transaction Log BackupTransaction Log Backup )) 差异备份(差异备份( Differential Database BackupDifferential Database Backup

ss )) 文件和文件组备份(文件和文件组备份( File and File Group BacFile and File Group Bac

kupkup ))

Page 7: 第 13 讲  备份与恢复

11 .数据库备份(.数据库备份( Database BackupsDatabase Backups ))

是指对数据库的完整备份,包括所有的是指对数据库的完整备份,包括所有的数据以及数据库对象。数据以及数据库对象。

Page 8: 第 13 讲  备份与恢复

22 .事务日志备份(.事务日志备份( Transaction Log BackupTransaction Log Backup ))

指对数据库发生的事务进行备份,包括从上次进行事务日志备份、指对数据库发生的事务进行备份,包括从上次进行事务日志备份、差异备份和数据库完全备份之后,所有已经完成的事务。差异备份和数据库完全备份之后,所有已经完成的事务。

Page 9: 第 13 讲  备份与恢复

33 .差异备份.差异备份

(( Differential Database BackupsDifferential Database Backups ))

指将最近一次数据库备份以来发生的数据变化备份起来,因此差指将最近一次数据库备份以来发生的数据变化备份起来,因此差异备份实际上是一种增量数据库备份。异备份实际上是一种增量数据库备份。

Page 10: 第 13 讲  备份与恢复

44 .文件和文件组备份.文件和文件组备份(( File and File Group BackupFile and File Group Backup ))

指对数据库文件或文件夹进行备份,但其不像完整的数据库备份指对数据库文件或文件夹进行备份,但其不像完整的数据库备份那样,同时也进行事务日志备份。使用该备份方法可提高数据库恢复那样,同时也进行事务日志备份。使用该备份方法可提高数据库恢复的速度,因为其仅对遭到破坏的文件或文件组进行恢复。的速度,因为其仅对遭到破坏的文件或文件组进行恢复。

Page 11: 第 13 讲  备份与恢复

13.2.2 13.2.2 数据库备份的策略数据库备份的策略

选用怎样的备份方案将对备份选用怎样的备份方案将对备份

和恢复产生直接影响,而且也决定了数据和恢复产生直接影响,而且也决定了数据

库在遭到破坏前后的一致性水平,所以在库在遭到破坏前后的一致性水平,所以在

做出该决策时必须认识到以下问题:做出该决策时必须认识到以下问题:

Page 12: 第 13 讲  备份与恢复

(( 11 )如果只进行数据库备份,那么将无法恢复自最)如果只进行数据库备份,那么将无法恢复自最

近一次数据库备份以来,数据库中所发生的所有事务。这种近一次数据库备份以来,数据库中所发生的所有事务。这种

方案的优点是简单,而且在进行数据库恢复时操作也很方便。方案的优点是简单,而且在进行数据库恢复时操作也很方便。

Page 13: 第 13 讲  备份与恢复

(( 22 )如果在进行数据库备份时也进行事务日志备份,)如果在进行数据库备份时也进行事务日志备份,那么可以将数据库恢复到失败点,那些在失败前未提交的事那么可以将数据库恢复到失败点,那些在失败前未提交的事务将无法恢复,但如果在数据库失败后立即对当前处于活动务将无法恢复,但如果在数据库失败后立即对当前处于活动状态的事务进行备份,则未提交的事务也可以恢复。状态的事务进行备份,则未提交的事务也可以恢复。

Page 14: 第 13 讲  备份与恢复

SQL Server 2000 SQL Server 2000 提供了以下方法来减少备份或恢复操作的提供了以下方法来减少备份或恢复操作的

执行时间:执行时间:

(( 11 )使用多个备份设备来同时进行备份处理,同理可以从)使用多个备份设备来同时进行备份处理,同理可以从

多个备份设备上同时进行数据库恢复操作处理。多个备份设备上同时进行数据库恢复操作处理。

Page 15: 第 13 讲  备份与恢复

(( 22 )综合使用完整数据库备份、差异备份或事务日志备份)综合使用完整数据库备份、差异备份或事务日志备份来减少每次的需要备份的数据数量。来减少每次的需要备份的数据数量。

(( 33 )使用文件或文件组备份以及事务日志备份,这样可以)使用文件或文件组备份以及事务日志备份,这样可以只备份或恢复那些包含相关数据的文件,而不是整个数据库。只备份或恢复那些包含相关数据的文件,而不是整个数据库。

Page 16: 第 13 讲  备份与恢复

13.2.3 13.2.3 数据库恢复的策略数据库恢复的策略

在在 SQL Server 2000 SQL Server 2000 中有中有 33 种数据库恢复模式,分别是种数据库恢复模式,分别是

简单恢复(简单恢复( Simple RecoverySimple Recovery )) 完全恢复(完全恢复( Full RecoveryFull Recovery )) 批日志恢复(批日志恢复( Bulk-logged RecoveryBulk-logged Recovery ))

Page 17: 第 13 讲  备份与恢复

11 .简单恢复.简单恢复 所谓简单恢复就是指在进行数据库恢所谓简单恢复就是指在进行数据库恢复时,仅使用了数据库备份或差异备份,复时,仅使用了数据库备份或差异备份,而不涉及事务日志备份。而不涉及事务日志备份。

Page 18: 第 13 讲  备份与恢复

22 .完全恢复.完全恢复

是指通过使用数据库备份和事务日志备份,将数据库恢是指通过使用数据库备份和事务日志备份,将数据库恢复到发生失败的时刻,因此几乎不造成任何数据丢失,这成为复到发生失败的时刻,因此几乎不造成任何数据丢失,这成为对付因存储介质损坏而数据丢失的最佳方法。对付因存储介质损坏而数据丢失的最佳方法。

Page 19: 第 13 讲  备份与恢复

33 .批日志恢复.批日志恢复 批日志恢复在性能上要优于简单恢复批日志恢复在性能上要优于简单恢复和完全恢复模式,它能尽最大努力减少批和完全恢复模式,它能尽最大努力减少批操作所需要的存储空间,这些批操作主要操作所需要的存储空间,这些批操作主要是是 SELECT INTO SELECT INTO 、批装载操作(如、批装载操作(如 bcbcp p 操作或批插入操作)和创建索引针对大操作或批插入操作)和创建索引针对大文本或图像的操作(如文本或图像的操作(如 WRITETEXTWRITETEXT ,, UPDATETEXTUPDATETEXT )。)。

Page 20: 第 13 讲  备份与恢复

13.3 13.3 备份数据库备份数据库

在进行备份以前,首先必须创建备在进行备份以前,首先必须创建备份设备,备份设备是用来存储数据库事务日志份设备,备份设备是用来存储数据库事务日志或文件和文件组备份的存储介质,备份设备可或文件和文件组备份的存储介质,备份设备可以是硬盘、磁带或管道。以是硬盘、磁带或管道。

SQL Server 2000 SQL Server 2000 只支持将数据库备份只支持将数据库备份到本地磁带机而不是网络上的远程磁带机。当到本地磁带机而不是网络上的远程磁带机。当使用磁盘时使用磁盘时 SQL Server 2000 SQL Server 2000 允许将本地主允许将本地主机硬盘和远程主机上的硬盘作为备份设备,备机硬盘和远程主机上的硬盘作为备份设备,备份设备在硬盘中是以文件的方式存储的。份设备在硬盘中是以文件的方式存储的。

Page 21: 第 13 讲  备份与恢复

13.3.1 13.3.1 创建和删除备份设备创建和删除备份设备

(1)(1) 使用企业管理器管理备份设备使用企业管理器管理备份设备

Page 22: 第 13 讲  备份与恢复
Page 23: 第 13 讲  备份与恢复
Page 24: 第 13 讲  备份与恢复

(2)(2) 使用系统存储过程创建和删除备份设备 使用系统存储过程创建和删除备份设备 在在 SQL Server SQL Server 中,可以使用中,可以使用 sp_addumpsp_addumpdevicedevice 语句创建备份设备,其语法形式如下:语句创建备份设备,其语法形式如下:

sp_addumpdevice {‘device_type’}sp_addumpdevice {‘device_type’} [,’logical_name’][,’physical_name’][,’logical_name’][,’physical_name’][,{{controller_type|’device_statu[,{{controller_type|’device_status’}}]s’}}]

Page 25: 第 13 讲  备份与恢复

举例:举例:use masteruse master

exec sp_addumpdevice ‘disk’, ‘backup_comexec sp_addumpdevice ‘disk’, ‘backup_com

pany’, ‘c:\mssql7\backup\bk_company.bapany’, ‘c:\mssql7\backup\bk_company.ba

kk’’

Page 26: 第 13 讲  备份与恢复

使用使用 sp_dropdevicesp_dropdevice 语句来删语句来删除备份设备。其语法如下:除备份设备。其语法如下:

sp_dropdevice [‘logical_name’][,’delfile’]sp_dropdevice [‘logical_name’][,’delfile’]

举例:删除上面创建的备份设备举例:删除上面创建的备份设备 sp_dropdevice ‘backup_company’, ‘c:\mssqsp_dropdevice ‘backup_company’, ‘c:\mssq

l7\backup\bk_company.bak’ l7\backup\bk_company.bak’ 

Page 27: 第 13 讲  备份与恢复

13.3.2 13.3.2 使用备份向导备份数据库使用备份向导备份数据库

Page 28: 第 13 讲  备份与恢复
Page 29: 第 13 讲  备份与恢复
Page 30: 第 13 讲  备份与恢复
Page 31: 第 13 讲  备份与恢复
Page 32: 第 13 讲  备份与恢复
Page 33: 第 13 讲  备份与恢复
Page 34: 第 13 讲  备份与恢复

13.3.3 13.3.3 使用企业管理器进行备份使用企业管理器进行备份 (1)启动企业管理器,登录到指定的数据库服(1)启动企业管理器,登录到指定的数据库服

务器,打开数据库文件夹,用右键单击所要进行务器,打开数据库文件夹,用右键单击所要进行备份的数据库图标,在弹出的快捷菜单中选择所备份的数据库图标,在弹出的快捷菜单中选择所有任务,再选择备份数据库 。有任务,再选择备份数据库 。

(2)出现(2)出现 SQL ServerSQL Server 备份对话框,对话框中有备份对话框,对话框中有两个页框,即常规和选项页框。两个页框,即常规和选项页框。

(3)在常规页框中,选择备份数据库的名称、(3)在常规页框中,选择备份数据库的名称、操作的名称、描述信息、备份的类型、备份的介操作的名称、描述信息、备份的类型、备份的介质、备份的执行时间。 质、备份的执行时间。

(4)通过单击添加按钮选择备份设备 。(4)通过单击添加按钮选择备份设备 。 (5)选择调度复选框,来改变备份的时间安排。(5)选择调度复选框,来改变备份的时间安排。 ( ( 6 6 )在选项页框中进行附加设置 。)在选项页框中进行附加设置 。

Page 35: 第 13 讲  备份与恢复

13.3.4 13.3.4 使用使用 T-SQL T-SQL 命令备份数据库命令备份数据库

T-SQL T-SQL 语句提供了语句提供了 BACKUP BACKUP 命令进行备份操作,命令进行备份操作,其语法格式如下:其语法格式如下:

BACKUP DATABASE { BACKUP DATABASE { database_namedatabase_name | | @database@database_name_var _name_var }}

TO < backup_device > [...TO < backup_device > [...nn ] ] [ WITH[ WITH [ BLOCKSIZE = { [ BLOCKSIZE = { blocksizeblocksize | | @blocksize_variable@blocksize_variable } ] } ] [ [ ,] DESCRIPTION = { '[ [ ,] DESCRIPTION = { 'texttext' | ' | @text_variable@text_variable } ] } ]

Page 36: 第 13 讲  备份与恢复

[ [ ,] EXPIREDATE = { [ [ ,] EXPIREDATE = { date date | | @date_var@date_var } | RET } | RETAINDAYS = { AINDAYS = { daysdays | | @days_var@days_var } ] } ]

[ [ ,] PASSWORD = { [ [ ,] PASSWORD = { passwordpassword | | @password_vari@password_variableable } ] } ]

[ [ ,] FORMAT | NOFORMAT ][ [ ,] FORMAT | NOFORMAT ] [ [ ,] { INIT | NOINIT } ][ [ ,] { INIT | NOINIT } ] [ [ ,] MEDIADESCRIPTION = { '[ [ ,] MEDIADESCRIPTION = { 'texttext' | ' | @text_var@text_var

iableiable } ] } ]

Page 37: 第 13 讲  备份与恢复

[ [ ,] MEDIANAME = { [ [ ,] MEDIANAME = { media_namemedia_name | | @media_na@media_name_variable me_variable } ]} ]

[ [ ,] MEDIAPASSWORD = { [ [ ,] MEDIAPASSWORD = { mediapasswordmediapassword | | @@mediapassword_variablemediapassword_variable } ] } ]

[ [ ,] NAME = { [ [ ,] NAME = { backup_set_namebackup_set_name | | @backup_set_@backup_set_name_varname_var } ] } ]

Page 38: 第 13 讲  备份与恢复

[ [ ,] { NOSKIP | SKIP } ][ [ ,] { NOSKIP | SKIP } ]

[ [ ,] { NOREWIND | REWIND } ][ [ ,] { NOREWIND | REWIND } ]

[ [ ,] { NOUNLOAD | UNLOAD } ][ [ ,] { NOUNLOAD | UNLOAD } ]

[ [ ,] RESTART ][ [ ,] RESTART ]

[ [ ,] STATS [ = [ [ ,] STATS [ = percentage percentage ] ]] ]

]]

Page 39: 第 13 讲  备份与恢复

主要参数选项的含义说明如下主要参数选项的含义说明如下

DATABASEDATABASE :表示进行数据库备份而:表示进行数据库备份而不是事务日志备份。不是事务日志备份。

database_name database_name | | @database_name_var@database_name_var ::表示要进行备份的数据库名称或变量表示要进行备份的数据库名称或变量。。

Page 40: 第 13 讲  备份与恢复

BLOCKSIZEBLOCKSIZE :备份介质内每一数据区块以:备份介质内每一数据区块以byte byte 为单位表示的大小,如果使用磁盘介为单位表示的大小,如果使用磁盘介质备份将自动决定数据区的大小,如果使用质备份将自动决定数据区的大小,如果使用管道且不指明数据区的大小,则默认其为管道且不指明数据区的大小,则默认其为 4K4KBB 。如果使用磁带只有在使用。如果使用磁带只有在使用 FORMAT FORMAT 选选项时项时 BLOCKSIZE BLOCKSIZE 才有效。未指定其大小才有效。未指定其大小时系统会自动选择合适的数据区大小。时系统会自动选择合适的数据区大小。

Page 41: 第 13 讲  备份与恢复

DESCRIPTIONDESCRIPTION :描述备份设置的文本,最:描述备份设置的文本,最多有多有 255 255 个字符。个字符。 EXPIREDATEEXPIREDATE :表示保留备份文件的有效期:表示保留备份文件的有效期限。若超过该保留期备份介质上的数据可被覆限。若超过该保留期备份介质上的数据可被覆盖。盖。 RETAINDAYSRETAINDAYS :表示备份文件在备份介质:表示备份文件在备份介质中可以保留的天数,如果超过该天数,则介质中可以保留的天数,如果超过该天数,则介质上的数据可被覆盖。只有在使用上的数据可被覆盖。只有在使用 INITINIT 选项时,选项时,该选项才有效,如果使用该选项才有效,如果使用 SKIPSKIP ,则此选项无,则此选项无效。效。

Page 42: 第 13 讲  备份与恢复

FORMAT | NOFORMATFORMAT | NOFORMAT :: FORMATFORMAT 表示表示将原备份介质头复写,从而将原介质上的所有将原备份介质头复写,从而将原介质上的所有数据覆盖。数据覆盖。 INIT| NOINITINIT| NOINIT :: INITINIT 表示备份介质上的所表示备份介质上的所有数据都将被覆盖,介质头将被保留,但是如有数据都将被覆盖,介质头将被保留,但是如果在备份介质上的数据结果集仍没有超过使用果在备份介质上的数据结果集仍没有超过使用的有效期,或在的有效期,或在 BACKUP BACKUP 命令中给出的备份命令中给出的备份结果集名称与备份介质上的不匹配,则备份介结果集名称与备份介质上的不匹配,则备份介质不会被覆盖。质不会被覆盖。 NOINIT NOINIT 表示将备份结果集添表示将备份结果集添加到当前备份介质中去。加到当前备份介质中去。

Page 43: 第 13 讲  备份与恢复

NOUNLOAD | UNLOADNOUNLOAD | UNLOAD :表示在备份完成以:表示在备份完成以后磁带机是否自动倒带,且退出磁带机。该选后磁带机是否自动倒带,且退出磁带机。该选项仅用于磁带设备。项仅用于磁带设备。

RESTARTRESTART :表示:表示 SQL ServerSQL Server 重新开始被中重新开始被中断的备份操作,使用该选项可以节省时间。因断的备份操作,使用该选项可以节省时间。因为备份将从中断点接着进行,而不是从头开始。为备份将从中断点接着进行,而不是从头开始。该选项仅适用于磁带介质且需要多卷磁带。该选项仅适用于磁带介质且需要多卷磁带。

STATSSTATS :表示在备份完某一百分比数据之后:表示在备份完某一百分比数据之后所要显示的信息。所要显示的信息。

Page 44: 第 13 讲  备份与恢复

13.4 13.4 恢复数据库恢复数据库

数据库恢复是指将数据库备份加载到系数据库恢复是指将数据库备份加载到系统中的过程。统中的过程。 系统在恢复数据库的过程中,自动执行系统在恢复数据库的过程中,自动执行安全性检查、重建数据库结构以及完整数据安全性检查、重建数据库结构以及完整数据库内容。库内容。

Page 45: 第 13 讲  备份与恢复

恢复数据库有两种方法:恢复数据库有两种方法:

(( 11 )使用企业管理器恢复数据库。)使用企业管理器恢复数据库。

(( 22 )使用)使用 T-SQLT-SQL 命令进行数据库恢复。命令进行数据库恢复。

Page 46: 第 13 讲  备份与恢复

13.4.1 13.4.1 使用企业管理器恢复数据库使用企业管理器恢复数据库

准备工作:准备工作: 打开数据库的 “限制访问” 属性打开数据库的 “限制访问” 属性

使用企业管理器恢复数据库使用企业管理器恢复数据库(( 11 )打开企业管理器,单击要登录的数据库服务器,然后从主)打开企业管理器,单击要登录的数据库服务器,然后从主菜单中选择工具,在菜单中选择还原数据库命令。菜单中选择工具,在菜单中选择还原数据库命令。

(( 22 )在还原为数据库旁的下拉列表中选择要恢复的数据库,在)在还原为数据库旁的下拉列表中选择要恢复的数据库,在还原组中通过单击单选按钮来选择相应的数据库备份类型。 还原组中通过单击单选按钮来选择相应的数据库备份类型。

(( 33)选中选项页框,进行其它选项的设置 。)选中选项页框,进行其它选项的设置 。

Page 47: 第 13 讲  备份与恢复

13.4.2 13.4.2 使用使用 T-SQLT-SQL 恢复数据库恢复数据库

T-SQL T-SQL 语句提供了 语句提供了 RESTORE RESTORE 命令命令进行恢复操作,其语法格式如下:进行恢复操作,其语法格式如下:

RESTORE DATABASE {RESTORE DATABASE {database_namedatabase_name | | @database_name_var@database_name_var}}

[FROM <backup_device> [, ...[FROM <backup_device> [, ...nn]]]] [WITH[WITH [DBO_ONLY][DBO_ONLY]

Page 48: 第 13 讲  备份与恢复

[[,] FILE = [[,] FILE = file_numberfile_number]] [[,] MEDIANAME = {[[,] MEDIANAME = {media_namemedia_name | | @media_na@media_na

me_variableme_variable}]}] [[,] MOVE '[[,] MOVE 'logical_file_namelogical_file_name' TO '' TO 'operating_syoperating_sy

stem_file_namestem_file_name'][ ...'][ ...nn]] [[,] {NORECOVERY | RECOVERY | STANDB[[,] {NORECOVERY | RECOVERY | STANDB

Y = Y = undo_file_nameundo_file_name}]}]

Page 49: 第 13 讲  备份与恢复

[[,] {NOUNLOAD | UNLOAD}][[,] {NOUNLOAD | UNLOAD}]

[[,] REPLACE][[,] REPLACE]

[[,] RESTART][[,] RESTART]

[[,] STATS [= [[,] STATS [= percentagepercentage]]]]

]]

Page 50: 第 13 讲  备份与恢复

其主要参数意义如下其主要参数意义如下

DBO_ONLYDBO_ONLY :表示将新恢复的数据库:表示将新恢复的数据库的访问权限只授予数据库所有者。的访问权限只授予数据库所有者。

FILEFILE :表示恢复具有多个备份子集的:表示恢复具有多个备份子集的备份介质中的那个备份子集。备份介质中的那个备份子集。

Page 51: 第 13 讲  备份与恢复

MEDIANAMEMEDIANAME :表示在备份时所使用的:表示在备份时所使用的备份介质名称。如果给出该选项则在恢备份介质名称。如果给出该选项则在恢复时首先检查其是否与备份时输入的名复时首先检查其是否与备份时输入的名字相匹配,若不相同恢复字相匹配,若不相同恢复 , , 操作将结束。操作将结束。

MOVEMOVE :表示把备份的数据库文件恢复:表示把备份的数据库文件恢复到系统的某一位置到系统的某一位置 , , 缺省条件下,恢复到缺省条件下,恢复到备份时的位置。备份时的位置。

Page 52: 第 13 讲  备份与恢复

NORECOVERYNORECOVERY :表示恢复操作不回滚任何:表示恢复操作不回滚任何未提交的事务,若恢复某一数据库备份后又未提交的事务,若恢复某一数据库备份后又将恢复多个事务日志或在恢复过程中执行多将恢复多个事务日志或在恢复过程中执行多个个 RESTORERESTORE 命令,则要求除最后一条命令,则要求除最后一条 RESRESTORETORE 命令外,其他的必须使用该选项命令外,其他的必须使用该选项

RECOVERYRECOVERY :表示回滚所有未提交的事务,:表示回滚所有未提交的事务,在恢复结束后数据库就可以使用。在恢复结束后数据库就可以使用。

Page 53: 第 13 讲  备份与恢复

STANDBYSTANDBY :表示数据库恢复操作的 :表示数据库恢复操作的 UNUNDO DO 文件。文件。

REPLACEREPLACE :表示如果恢复的数据库名称:表示如果恢复的数据库名称与已存在的某一数据库重名,则首先删除与已存在的某一数据库重名,则首先删除原数据库然后重新创建。原数据库然后重新创建。

RESTARTRESTART :表示从恢复中断处继续进行:表示从恢复中断处继续进行恢复处理,该选项只能用于磁带介质,并恢复处理,该选项只能用于磁带介质,并且跨多卷磁带。且跨多卷磁带。

Page 54: 第 13 讲  备份与恢复

举例举例 从从 backup_companybackup_company 备份设备中恢复数备份设备中恢复数据库据库 companycompany

use master use master restore database companyrestore database company from backup_companyfrom backup_company

Page 55: 第 13 讲  备份与恢复

13.4.3 13.4.3 备份和恢复系统数据库备份和恢复系统数据库 1. 1. 关闭关闭 SQL ServerSQL Server ,运行系统安装目录下的,运行系统安装目录下的 bibi

nn 子目录下的子目录下的 rebuildm.exerebuildm.exe 文件,这是个命令行文件,这是个命令行程序,运行后可以重新创建系统数据库。程序,运行后可以重新创建系统数据库。

2. 2. 系统数据库重新建立后,启动系统数据库重新建立后,启动 SQL ServerSQL Server 。。 3. SQL Server3. SQL Server 启动后,系统数据库是空的,没启动后,系统数据库是空的,没

有任何系统信息。因此,需要从备份数据库中恢有任何系统信息。因此,需要从备份数据库中恢复。一般是先恢复复。一般是先恢复 mastermaster 数据库,再恢复数据库,再恢复 msdbmsdb数据库,最后恢复数据库,最后恢复 modelmodel 数据库数据库。。

Page 56: 第 13 讲  备份与恢复

13.5 13.5 数据库的维护数据库的维护 利用数据库的维护计划向导可以利用数据库的维护计划向导可以方便地设置数据库的核心维护任务,以便于方便地设置数据库的核心维护任务,以便于定期地执行这些任务,其创建数据库维护计定期地执行这些任务,其创建数据库维护计划的步骤如下:划的步骤如下:

Page 57: 第 13 讲  备份与恢复

选择数据库维护计划对话框

Page 58: 第 13 讲  备份与恢复

欢迎使用维护计划向导对话框

Page 59: 第 13 讲  备份与恢复

选择数据库对话框

Page 60: 第 13 讲  备份与恢复

更新数据优化信息对话框

Page 61: 第 13 讲  备份与恢复

编辑循环作业调度对话框

Page 62: 第 13 讲  备份与恢复

检查数据库完整性对话框

Page 63: 第 13 讲  备份与恢复

指定数据库备份计划对话框

Page 64: 第 13 讲  备份与恢复

指定数据库备份文件存放目录对话框

Page 65: 第 13 讲  备份与恢复

指定事务日志备份计划对话框

Page 66: 第 13 讲  备份与恢复

指定事务志文件备份存放目录对话框

Page 67: 第 13 讲  备份与恢复

维护计划生成报表对话框

Page 68: 第 13 讲  备份与恢复

指定维护计划历史记录存放位置对话框

Page 69: 第 13 讲  备份与恢复

指定数据库维护计划名称对话框

Page 70: 第 13 讲  备份与恢复

数据库维护计划对象选择对话框

Page 71: 第 13 讲  备份与恢复

数据库维护计划编辑对话框