数据的安全性和可用性都离不开良好的数据备份工作。为防止非法登录者或非授权用户 对 SQL Server 数据库及数据造成破坏、合法用户不小心对数据库的数据做了不正确的操作、
保存数据库文件的磁盘遭到损坏(如计算机硬件故障、计算机病毒袭击、自然灾害等) 、运行
SQL Server 2000 提供了四种不同的类型进行数据备份:数据库备份(Database Backups)、 差异备份(Differential Database Backups)、事务日志备份(Transaction Log Backup)、文件和 文件组备份(File and File Group Backup)。
(1)数据库备份(完全备份) 。数据库备份执行的是完整数据库备份,即备份整个数据 库,包括用户表、系统表、索引、视图、存储过程等所有的数据和数据库对象。完全备份速度 慢,占用磁盘空间大。
(2)差异备份。差异备份是完全备份的补充,执行的是差异数据库备份。差异备份仅记 录自上次完整数据库备份后对数据库数据所做的更改。 通常情况下, 差异备份需要的时间比完
全备份短,占用的磁盘空间小。
在 SQL Server 中进行备份时,必须先创建存放备份数据的备份设备,备份设备可以是磁 盘或磁带。SQL Server 将数据库、事务日志和文件备份到磁盘或磁带设备上。如果是备份到磁 盘中,可以有两种形式:一种是文件的形式;另一种是备份设备的形式。无论是哪种形式,在
(3)完全备份加差异备份再加事务日志备份。创建定期的数据库完全备份,并在两次数 作要求之间的权衡。这三种还原模型是:简单(Simple)还原模型、完全(Full)还原模型和 大容量日志(Bulk_logged)还原模型。这些模型之间的关系和它们的特点如表 2.3 所示。
表 2.3 SQL Server 三种还原模型的特点
3.还原顺序
在 SQL Server 中可以使用企业管理器创建备份设备。使用企业管理器创建备份设备,既 可以在企业管理器中的“管理”文件夹的“备份”中先创建备份设备,也可以在实现备份操作 时直接创建新备份设备。这里介绍前一种方法,后一种方法在例 2.12 中介绍。
使用企业管理器创建备份设备的操作步骤如下:
1)在企业管理器中选择想要创建备份设备的服务器,右击“管理”文件夹下的“备份”
文件,在弹出的快捷菜单中单击“新建备份设备”命令,如图 2.35 所示。
图 2.35 “新建备份设备”选项
2)在弹出的“备份设备属性—新设备”对话框(如图 2.36 所示)的“名称”文本框中 指定备份设备的名称。若将数据库备份到磁盘上,在“文件名”文本框中指定磁盘驱动器的名 称和路径,也可以单击文本框右边的 按钮修改备份设备文件的存储位置和备份文件名。若 将数据库备份到磁带上,必须将磁带设备物理连接到运行 SQL Server 实例的计算机上。
图 2.36 “备份设备属性—新设备”对话框 3)单击“确定”按钮,系统创建备份设备。
此时就可在选中的“备份”节点右边的内容窗格中看到所创建的新设备和原来创建好的 全部设备。若要删除已经创建好的备份设备,只要右击要删除的设备,选择“删除”命令,在 弹出的确认对话框中单击“是”按钮即可删除。
(3)实现备份。
实现数据库的备份可以使用企业管理器,也可以使用向导,还可以使用 TransactSQL 语 言的 BACKUP 命令完成。这里只介绍使用企业管理器实现备份的操作,其操作步骤如下:
1)在企业管理器中右击要进行备份的数据库,单击“所有任务”→“备份数据库”命令,
如图 2.37 所示。
图 2.37 “备份数据库”选项
2)在“SQL Server 备份”对话框(如图 2.38 所示)的“常规”选项卡中,分别指定要 备份的数据库、数据库备份的名称及数据库备份的描述(可忽略) 。
图 2.38 “SQL Server 备份”对话框 3)在“备份”栏中指定备份类型。
4)在“目的”栏中单击“添加”按钮,弹出“选择备份目的”对话框(如图 2.39 所示)。 在此对话框中选择备份到磁盘的形式是“文件名”还是“备份设备” ,这里选择备份的目的地 是“备份设备” ,从右边的下拉列表框中指定备份设备。若选择目的地是“文件名”形式,可 直接指定备份的物理位置和文件名, 或通过单击右边的 按钮指定备份的物理位置和文件名。
图 2.39 “选择备份目的”对话框
5)单击“确定”按钮返回如图 2.38 所示的对话框,此时“目的”栏中已经有了添加好 的备份设备(如图 2.40 所示)。若添加的设备错了,可单击“删除”按钮将其删除。通过单击
“内容”按钮查看选定的磁带或磁盘的内容。
图 2.40 已经添加好的备份设备
6)在图 2.38 的对话框 “重写”栏中,若指定“重写现有媒体” ,则将原备份重写;若指 定“追加到媒体” ,则保留原备份,并将新的备份追加至原备份之后。
7)在图 2.38 的对话框“调度”栏中,若选中调度复选框,单击文本框右边的 按钮,
则可更改当前的备份调度,如每天、每 2 天、每星期、每月等。根据需要设置。
8)在图 2.38 的对话框中,单击“选项”选项卡,执行下列一项或多项操作(可选):选 中“完成后验证备份”复选框,在备份时验证备份;选中“备份后弹出磁带”复选框,在备份 操作完成后弹出磁带,该选项只适用于磁带设备;选中“检查媒体集名称和备份集到期时间”
复选框, 检查备份媒体以防意外重写。 在 “媒体集名称” 框中输入将用于备份操作的媒体名称。
如果仅指定备份集到期时间,则将其保留为空。
如果是第一次使用备份媒体,或者要更改现有的媒体标签,则在“媒体集标签”框下选 中“初始化并标识媒体”复选框,然后输入媒体集名称和媒体集描述。只有在选择了“重写现 有媒体”时才能对其进行初始化和标识设置。
9)单击“确定”按钮,系统进行备份,备份完成后弹出“备份操作已顺利完成”对话框
(如图 2.41 所示),单击“确定”按钮,实现备份。
图 2.41 “备份操作已顺利完成”对话框 2.数据还原的基本操作
由于数据还原是静态的,所以在还原数据库时,需先限制用户对该数据库进行其他操作,
再进行数据还原。
(1)限制用户。
限制用户对数据库操作的设置方法可以是:在企业管理器中右击要还原的数据库,单击
“属性”命令,在弹出的数据库“属性”对话框中选择“选项”选项卡,在“访问”栏中选择
“限制访问”复选项,再选择“单用户”单选项,如图 2.42 所示。这样其他用户就不能访问 该数据库了。
图 2.42 设置用户访问数据库
(2)实现还原。
实现数据的还原可以使用企业管理器,也可以使用 TransactSQL 语言的 RESTORE 命令
完成。这里只介绍使用企业管理器实现还原的操作,其操作步骤如下:
1)在企业管理器中右击任意一个数据库,选择“所有任务”→“还原数据库”命令,如 图 2.43 所示。
图 2.43 还原数据库选项
2)在弹出的“还原数据库”对话框(如图 2.44 所示)的“常规”选项卡中,通过“还原 为数据库”下拉列表框选择要还原的数据库名,也可以直接在它的文本框中输入数据库名(新 数据库名或已经存在的数据库名都行)。
图 2.44 “还原数据库”(“常规”选项卡)对话框 3)在“还原”栏中选择相应的备份类型。
4)在“参数”栏中,通过“显示数据库备份”下拉列表框选择数据库;通过“要还原的 第一个备份”下拉列表框选择要使用哪个备份来还原数据库。默认使用最近的一次备份。
5)在“还原数据库”对话框中选择“选项”选项卡(如图 2.45 所示),进行其他设置。
在图 2.45 中有三个复选项可以选定,即选定:在还原每个备份后均弹出磁带(如果有) ;在还 原每个备份前提示(提示用户以防无意中还原备份);在现有数据库上强制还原。在“将数据 库文件还原为”列表框中可以指定将要还原的数据库文件的名称和位置。在“恢复完成状态”
栏中有三个单选项,用户可根据恢复时的要求进行选择,即:使数据库可以继续运行,但无法 还原其他事务日志;使数据库不再运行,但能还原其他事务日志;使数据库为只读,但能还原 其他事务日志。当选择第三个单选项时,可以指定要撤消的文件的名称。
图 2.45 “还原数据库”(“选项”选项卡)对话框 6)设置完成后,单击“确定”按钮,完成数据还原操作。
【例 2.12】数据备份和还原操作综合示例。要求是:先将 SQL Server 中的 Pubs 示例数 据库文件进行复制,然后将 Pubs 数据库附加为 Test_db4 数据库,再进行备份和还原。
根据题意分析可知,需做以下事情:
(1)确定复制 Pubs 数据库文件到的目的地。设目的地为 F:\mydb 目录下。
(2)附加 Pubs 数据库为 Test_db4 数据库。
(3)确定备份的类型。
(4)根据备份类型设置适合还原的模型。
(5)创建备份设备。设创建的备份设备名称和物理位置为 F:\mydb\ Tbackup1。
(6)实现备份。先实现数据库完全备份,再实现事务日志备份。
(7)查看备份设备内容。
(8)限制用户对该数据库进行其他操作。
(9)实现还原。还原顺序采取:先数据库完全还原,再事务日志还原。
具体操作的步骤为:
(1)复制 Pubs 数据库。关闭 SQL Server 服务器,在系统安装的路径 C:\Program Files\
Microsoft SQL Server\MSSQL\Data 下,选择 pubs.mdf 和 pubs_log.ldf 两个文件进行复制,并粘 贴到 F:\mydb 目录下。
(2)附加 Pubs 数据库为 Test_db 数据库。启动 SQL Server 服务器,在企业管理器中右击
“数据库”文件夹,单击“所有任务”→“附加数据库”命令指定要附加的数据库 pubs.mdf,
在“附加为”文本框中重新输入 Test_db4,如图 2.46 所示。单击“确定”按钮,弹出“附加 数据库顺利完成”对话框,再单击“确定”按钮,完成操作。
图 2.46 附加 Pubs 数据库为 Test_db4 数据库
(3)确定备份类型为“完全备份加日志备份”的组合备份类型。
(4)根据备份类型,选择还原模型为“完全”还原模型。右击要备份的 Test_db4 数据库,
单击“属性”命令,在弹出的数据库“属性”对话框中选择“选项”选项卡,设置还原的模型
单击“属性”命令,在弹出的数据库“属性”对话框中选择“选项”选项卡,设置还原的模型