数据库的备份与恢复
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库的备份与恢复
一、实验目的和要求
1、理解备份设备的概念。
2、掌握使用SQL Server2000企业管理器和T_SQL两种方法管理备份设备。
3、掌握使用SQL Server2000企业管理器和T_SQL两种方法进行数据库完全备份。
4、掌握使用SQL Server2000企业管理器和T_SQL两种方法进行数据库还原。
5、掌握SQL Server2000提供的三种封锁机制。
二、实验内容和步骤
㈠数据库恢复
1、数据库的备份
SQL Server2000有数据库完全备份、数据库差异备份、事务日志文件备份、文件及文件组备份等四种形式。在备份一个数据库之前,需要先创建一个备份设备,然后再去复制要备份的数据库、事务日志、或文件/文件组等,而备份设备可以是磁带、磁盘文件或是网络驱动。而磁带必须连接到SQL Server的主机上执行,因为SQL Server不支持远程磁带的驱动。
⑴备份设备管理
①创建备份设备
使用企业管理器:
Step1 :在“管理”→“备份”的项目上,单击鼠标右键选择“新建备份设备”的选项。
Step 2 :系统会打开新的备份设备属性设置页,在“名称”的文本框中输入新的名称。
Step3: 设置名称为“数据库备份”,而在“文件名称”的空格中会自动出现“数据库备份.BAK”的文件名称。
Step 4 :按确定按钮,可以从备份项目内看到刚才创建的“数据库备份”项目。
使用系统存储过程sp_addumpdevice:
sp_addumpdevice{“disk”|”diskette”|”tape”},”logical_name”,
“physical_name”
其中:”disk|”diskette”|”tape”说明转储设备的类型,disk说明用硬盘文件作为转储设备,diskette说明用软盘作为转储设备,tape说明用磁带作为转储设备;
logical_name是由DUMP(转储)和LOAD(恢复)命令使用的转储设备的逻辑名;
physical_name是转储设备的物理名;如:
②查看备份设备的信息
使用企业管理器:
Step1:展开服务器组,再展开服务器。
Step2:展开“管理”,选中“备份”,在右边窗口的备份设备列表中用鼠标右键单击要查看的备份设备,在弹出的快捷菜单中选择“属性”命令。
Step3:打开的属性对话框,如图所示。该对话框中显示了设备的物理文件名。
Step4:单击查看内容[V]…按钮,打开如图所示的对话框,其中列出了该设备上保存的所有备份,以及每个备份的类型、日期、大小等信息。
③删除备份设备
使用企业管理器:
step1:展开服务器组,再展开服务器。
Step2:展开“管理”,选中“备份”,在右边窗口的备份设备列表中用鼠标右键单击要删除的备份设备,在弹出的快捷菜单中选择“删除”命令。
Step3:在确认删除对话框中单击“是”按钮。
Step4:从磁盘上删除了操作系统文件。
利用T_SQL命令:sp_dropdevice ‘备份设备名’
如
⑵备份数据库:本实验主要介绍数据库完全备份。
①利用SQL Server2000 企业管理器
当完成备份设备的创建后,便可以进行数据库的备份。若没有创建任何备份设备,则打开备份数据库程序时,此时会提醒用户必须先创建备份设备。
Step1:在所创建的“数据库备份”项目上,单击鼠标右键,选择“备份数据库。”
Step2:打开“S QL Server 备份”属性设置页,选择索要备份的数据库"学生选课"。
Step3: 选择完全数据库备份的方式。
Step4: 单击“目的”中的“添加”按钮,进入“选择备份目的”对话框。
Step5: 更改为“备份设备”的方式,选择所创建的“数据库备份”设备。
Step6: 可以在最下面的“调度”项目中,设置备份计划,假设在“调度”前打勾,系统就会有一个默认的备份计划。
Step7: 除了系统默认值外,也可以按右下角的“更改”按钮,去改变备份时间。
Step8: 经过前面步骤,设置基本完成。若选取“调度”的设置,按下“确定”按钮后,则不会马上进行数据备份;若取消打勾后,当按下“确定”按钮后,则马上可以进行备份。
②利用T_SQL命令进行备份,语法是:
BACKUP DATABASE { database_name | @database_name_var }
TO < backup_device > [ ,...n ] [with options]
2、数据库的还原
⑴利用SQL Server2000 企业管理器
Step1: 选择“SQL Server企业管理器”的菜单中“工具”→“还原数据库”的选项。
Step2: 系统打开“还原数据库”的设置项目对话框。
Step3: 选择要还原的数据库,并选择要还原哪一次备份。
Step4: 针对备份记录,在上一步中,可以按下“属性”按钮,查看更详细的备份记录,也可以改变还原的备份设备。
Step5: 下图为选择还原设备,这里选择数据库备份。
Step6: 查看“还原数据库-选项”设置对话框。在此可以看到还原的数据库文件为“Student_Data.MDF”与“Student_Log.LDF”两个文件。必要时选择“在现有的数据库上强制还原”。
Step 7: 在上一步中,按下“确定”按钮后,SQL Server 便开始进行还原数据库的操作。
⑵用T_SQL命令进行还原,语法是:
Restore DATABASE{dbname|@dbname_var}
From backup_device1[,backup_device2[,…,back up_device32]][WITH options]
㈡并发控制
1、SQL Server2000提供了三种封锁机制
为了保证数据的一致性,并且允许最大量的并发用户,SQL Server2000提供了三种封锁机制,即独占封锁、共享封锁和更新封锁。封锁的对象可以是表格、页或者记录。
⑴共享封锁:共享封锁是为读操作设置的一种封锁,目的是为了读到一组不变的数据,也就是在读数据的过程中,不允许其他用户对该数据进行任何修改操作。
⑵更新封锁:当需要对一个记录或一组记录进行更新时 (只是修改,不包括插入和删除)使用更新封锁,该封锁的目的是防止其他用户在同一时刻修改同一记录。已经实施更新封锁的记录,拒绝来自其他用户的更新封锁或独占封锁。
⑶独占封锁:独占封锁也叫排他封锁,这是最严格的一类封锁。当需要对表实施插入、删除或修改操作时,应该使用独占封锁。已经实施独占封锁的表,拒绝来自其他用户的任何封锁,在释放排他锁之前,其他事务既不能修改也不能修改对象。
所有的封锁都将在事务结束(提交或撤消)时自动释放。SQL Server2000 使用SELECT
语句完成封锁操作,在指定选择的表的同时在FROM子句中指定对表所实施的封锁。
2、SQL Server2000的封锁命令