第13章数据备份与还原 关键词: 数据备份 数据还原 冗余 构架 恢复 学习要求: 本章主要阐述了SQL Server 2000中数据库的备份与还原。并且全面地、系统地介绍了SQL Server 2000数据库备份的分类与特点;使用企业管理器进行备份的方法;使用Transact-SQL语句进行备份的方法;使用企业管理器进行还原的方法;使用Transact-SQL语句进行还原的方法。重点分析了数据库的备份与还原。学习和掌握本章,是对SQL Server 2000数据库的灵活运用。13.1备份和还原构架 尽管数据库系统中采取了各种保护措施来防止数据库的安全性和完整性遭破坏,保证并发事务的正确执行,但是计算机系统中硬件的故障、软件的错误、用户误操作以及恶意的破坏仍是不可避免的。这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此DBMS必须具有把数据库从错误状态还原到某一已知的正确状态的功能。 数据库还原(恢复)原理:冗余 建立冗余数据常用技术: ●数据转储 ●登记日志文件 SQL Server提供了一套功能强大、安全的数据备份和还原工具。数据的备份和还原可以在系统发生错误或故障时,恢复以前的数据。13.2备份数据库引言 数据库备份就是对SQL Server数据库进行复制,以便在数据库遭到破坏时能够及时地将其恢复。13.2.1备份类型和常用备份策略 1、备份设备 在进行备份以前必须创建或指定备份设备。备份设备是用来存储数据库、事务日志或文件和文件组备份的存储介质。数据库备份设备可以是磁盘、磁带、命名管道和个人备份驱动设备。 2、SQL Server常用备份策略 ●完全数据库备份。只备份数据库,占用的时间和空间多。当数据库出现故障时,只能将数据库还原到上一次备份操作结束时的状态,其后的改变都将丢失。 ●事务日志备份。包括对数据库的备份和对事务日志的备份。在故障发生的时候可将数据库还原到故障发生前一刻的状况,有效地实现了数据库还原。 ●数据库差异备份。数据库差异备份只备份自上次备份以来,数据库所作的新的改变。 差异备份的优点是速度快。 注意:单独一个差异备份无法进行数据库的恢复,它必须以上一次的完全数据库备份为基础。 ●数据库文件和文件组备份。只备份指定文件和文件组,而不是整个数据库。13.2.2备份数据库中各种对象 1、创建数据库备份设备 在企业管理器中创建磁盘备份设备的操作步骤如下: (1)展开相应的服务器组以及服务器。 (2)展开“管理”文件夹,右击“备份”,选择“新建备份设备”命令,如下图13-1所示。图13-1 控制台根目录界面 (3)在出现的“备份设备属性”对话框的“名称”文本框中,输入所创建的磁盘备份设备名(如“Backup1”,该名称是备份设备的逻辑名称)。选中“文件名”(表示用磁盘做备份),再单击右边的“…”按钮,如下图13-2所示。图13-2 备份设备属性界面 (4)在打开的“备份设备位置”对话框中,选择磁盘备份设备使用的本地计算机和文件,或者在“文件名”文本框中输入备份文件名,如“Backup1”(SQL Server在BACKUP文件夹中创建一个Backup1.bak的备份文件)。单击“确定”按钮完成设置,如下图13-3所示。图13-3 备份设备位置界面 (5)当返回到企业管理器时,在“备份”文件夹中出现刚创建的备份设备,如下图13-4所示。图13-4 控制台根目录界面 (6)如果要删除一个备份设备,可以右击指定设备,在弹出的快捷菜单中选择“删除”命令即可。 2、数据库备份 (1)使用企业管理器备份数据库 操作步骤如下: 1)展开服务器组,然后展开服务器。 2)展开“数据库”文件夹,右击数据库,指向“所有任务”子菜单,然后单击“备份数据库”命令。(也可以展开“管理”文件夹,右击“备份”,在弹出的快捷菜单中选择“备份数据库”命令。) 如下图13-5所示:图13-5 控制台根目录界面 3)在打开的“SQL Server备份”对话框的“常规”选项卡中,选择备份数据库的名称;在“名称”框内,输入备份集名称,在“描述”框中输入对备份集的描述;在“备份”选项下单击“数据库 - 完全”;在“目的”选项下,单击“磁带”或“磁盘”,然后指定备份目的地。如果没出现备份目的地,则单击“添加”按钮以添加现有的目的地或创建新目的地。在这里单击“添加”按钮,如下图13-6所示。图13-6 SQL Server备份界面 4)在打开的“选择备份目的”对话框中,选中“备份设备”,在对应的下拉列表中选择“Backup1”。单击“确定”按钮,如下图13-7所示。图13-7 选择备份目的界面 5)返回“SQL Server备份”对话框。在“重写”选项下,可选择: ●“追加到媒体”:将备份追加到备份设备上任何现有的备份。 ●“重写现有媒体”:将重写备份设备中任何现有的备份。 如果选择“调度”复选框,将不立即执行备份操作,而是按计划执行数据库的备份,单击旁边的浏览按钮可以编辑调度信息。 6)单击“选项”选项卡,这里可以进行附加的设置。其中包括: ●“完成后验证备份”:完成后验证备份的媒体的完整性。 ●“备份后弹出磁带”:在备份操作完成后弹出磁带。 ●“检查媒体集名称和备份集到期时间”:检查备份媒体以防意外重写。在“媒体集名称”框中,输入将用于备份操作的媒体的名称。如果仅指定备份集到期时间,则将其保留为空。 7)如果是第一次使用备份媒体,或者要更改现有的媒体标签,则在“媒体集标签”框下选择“初始化并标识媒体”复选框,然后输入媒体集名称和媒体集描述。只有在重写媒体时才能对其进行初始化和标识设置。完成所有的配置后,单击“确定”按钮完成操作,如下图13-8所示。图13-8 SQL Server备份界面 (2)使用数据库备份向导备份数据库 具体步骤如下: 1)展开服务器组,然后展开服务器。 2)在“工具”菜单上单击“向导”命令。 3)在“选择向导”对话框中,展开“管理”。 4)选择“备份向导”。 5)完成向导中的各步骤即可。 (3)使用Transact-SQL命令备份数据库 格式:BACKUP DATABASE {database_name | @database_name_var} TO backup_device [, …n ][WITH[[,]FORMAT][[,]{INIT|NOINIT}][[,]RESTART]...]其中: ●FORMAT: 可以覆盖备份文件
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
。 ●INIT: 覆盖原备份文件,但保留媒体头。 ●NOINIT: 附加在该备份文件上。默认值。 ●RESTART: 从断点重新执行备份操作。 例:将test数据库备份到Backup1备份设备上。 BACKUP DATABASE test TO Backup1 3、事务日志备份 (1)使用企业管理器备份事务日志 操作步骤如下: 1)展开服务器组,然后展开服务器。 2)展开“数据库”文件夹,右击数据库,指向“所有任务”子菜单,然后单击“备份数据库”命令。(也可以展开“管理”文件夹,右击“备份”,在弹出的快捷菜单中选择“备份数据库”命令,如下图13-9所示。)图13-9 控制台根目录界面 3)在打开的“SQL Server备份”对话框的“常规”选项中,选择备份数据库的名称;在“名称”框内,输入备份集名称,在“描述”框中输入对备份集的描述;在“备份”选项框下,选择“事务日志”选项。其余操作与备份数据库相同,如下图13-10所示。图13-10 SQL Server备份 (2)使用向导备份事务日志 具体步骤如下: 1)展开服务器组,然后展开服务器。 2)在“工具”菜单上单击“向导”命令。 3)在“选择向导”对话框中,展开“管理”。 4)选择“备份向导”。 5)完成向导中的各步骤即可。 说明:与备份数据库的差别是在选择备份类型时选择“事务日志”而不是“数据库备份”选项。(3)使用Transact-SQL命令备份事务日志 格式:BACKUP LOG {database_name | @database_name_var} TO backup_device [, …n ]... 例:将school数据库的事务日志备份到Backup1备份设备上。 BACKUP LOG school TO backup1 4、数据库差异备份 同样可以使用企业管理器和向导进行数据库差异备份,只是在“备份”选项框下,选择“数据库-差异”选项,其他操作相同。 如果使用Transact-SQL命令实现差异数据库备份,需使用DIFFERENTIAL子句。 例: -- 首先创建一个完全数据库备份 BACKUP DATABASE school TO Backup1 WITH INIT GO -- 创建一个差异数据库备份,添加该备份到包含数据库备份的备份设备中 BACKUP DATABASE school TO Backup1 WITH DIFFERENTIAL GO13.3数据库还原引言 数据库还原--是指将数据库备份重新加载到系统中的过程。13.3.1数据库恢复模型 简单恢复模型。可以将数据库还原到上次备份的即时点。但无法将数据库还原到故障点或特定的即时点。 完全恢复模型。可以将数据库还原到故障点或特定即时点。 大容量日志
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
恢复模型。提供对媒体故障的防范,并对某些大规模或大容量复制操作提供最佳性能和最少的日志使用空间。13.3.2还原数据库备份 还原前的准备工作: 由于数据库的还原操作是静态的,所以在还原数据库时,必须限制用户对该数据库进行其他操作,因而在还原数据库之前,首先要设置数据库访问属性。在SQL Server企业管理器中,右击要还原的数据库,从弹出的快捷菜单中选择“属性”选项,弹出数据库“属性”对话框。在“选项”选项卡中,选择“限制访问”复选框,再选择“单用户”单选钮。这样就保证还原时,不会受到其他操作者的影响了。 1、使用企业管理器还原数据库备份 操作步骤如下: (1)展开服务器组,然后展开服务器。 (2)展开“数据库”文件夹,右击数据库,指向“所有任务”子菜单,然后单击“还原数据库”命令。打开“还原数据库”对话框,如下图13-11所示。图13-11 还原数据库1界面 (3)在“还原为数据库”旁的下拉列表中选择要还原的数据库(如果想要还原产生一个新的数据库则在此处直接输入数据库名称);在“还原”单选按钮组中单击“数据库”;在“要还原的第一个备份”列表中,选择要还原的备份集,在默认情况下使用最近的一次备份;在“还原”列表中,单击要还原的数据库备份,如下图13-12所示。图13-12 还原数据库2界面 (4)单击“确定”按钮,SQL Server开始还原操作,最后出现还原完成提示框。 2、使用Transact-SQL命令还原数据库备份 格式:RESTORE DATABASE {database_name | @database_name_var }[ FROM backup_device [ ,…n ]] ... 例:从backup2备份设备上还原完全school数据库备份。 RESTORE DATABASE school FROM backup2 WITH NORECOVERY 其中: NORECOVERY:表示系统既不取消事务日志中未完成的事务,也不提交完成的事务,它用于还原多个数据库备份。若还原某一数据库备份后又将还原多个事务日志,或在还原过程中执行多个RESTORE命令,则要求除最后一条RESTORE命令外,其他的必须使用该选项。 13.3.3还原事务日志备份 格式:RESTORE LOG { database_name | @database_name_var }[ FROM backup_device [ ,…n ]] 例:从backuplog2日志备份设备上还原school的日志备份。 RESTORE LOG school FROM backuplog2重点分析 本章主要讨论了关于数据库的备份与还原,对备份与还原的方法等语句、基本操作应清楚和熟练掌握。 1、数据库还原(恢复)原理:冗余。建立冗余数据常用技术:数据转储、登记日志文件。 2、数据库备份设备可以是磁盘、磁带、命名管道和个人备份驱动设备。 3、SQL Server常用备份策略:完全数据库备份、事务日志备份、数据库差异备份、数据库文件和文件组备份。 4、数据库的备份、恢复、还原等操作和性能要清楚,尤其是对恢复和还原两种方式应区别开来,因而应用时应该看具体情况。