一、目的与要求
- 掌握SQL Server2012拷贝物理文件的方法;
- 掌握SQL Server 2012附加数据库的方法;
- 掌握SQL Server 2012备份和还原的方法;
- 掌握SQL Server 2012定期自动备份的方法。
- 开始简单的SQL查询
二、实验准备
- 了解数据库分离和附加的意义;
- 了解备份的类型、备份设备、恢复模式等概念;
- 了解维护计划所需的服务。
三、实验内容
(一) 附加数据库
将提供的pubs数据库物理文件pubs.mdf和pubs_log.ldf,放在E:\学号文件夹\下,然后附加到对象资源管理器的目录树中
主要操作步骤:右击数据库点击附加,然后点击添加,找到文件下的pubs.mdf文件,最后成功添加。
(二)复制数据库文件
1. 停止服务器,复制数据库文件
新建文件夹D:\MYDATA,停止SQL Server2012的数据库引擎服务,复制pubs数据库的物理文件,粘贴到文件夹D:\MYDATA中。
2. 分离数据库,复制数据库文件
在不停止服务的情况下,分离实验二中建立的studentdb数据库,将其物理文件拷贝到D:\MYDATA文件夹中。
主要操作步骤:
(1)
停止服务器,复制数据库文件的步骤如下: a. 新建文件夹D:\MYDATA,用于存放数据库文件。 b. 停止SQL Server 2012的数据库引擎服务。可以通过在Windows服务中找到SQL Server服务,右键点击并选择停止来停止服务。 c. 找到pubs数据库的物理文件所在位置。可以在SQL Server Management Studio中右键点击pubs数据库,选择属性,然后在文件选项卡中找到物理文件的路径。 d. 将pubs数据库的物理文件复制到文件夹D:\MYDATA中。
(2)
分离数据库,复制数据库文件的步骤如下: a. 在不停止服务的情况下,打开SQL Server Management Studio并连接到数据库引擎。 b. 右键点击实验二中建立的studentdb数据库,选择任务,然后选择分离。 c. 在分离数据库对话框中,选择将数据库从服务器分离,然后点击确定。 d. 找到studentdb数据库的物理文件所在位置。可以在SQL Server Management Studio中右键点击studentdb数据库,选择属性,然后在文件选项卡中找到物理文件的路径。 e. 将studentdb数据库的物理文件复制到文件夹D:\MYDATA中。
(三) 备份和还原
1.简单恢复模式下,数据库完整备份和还原,备份目标为文件名方式。
(1)将pubs数据库设置成简单恢复模式;
主要操作步骤:设置数据库pubs属性中”选项”页面下的恢复模式为”简单”
(2)查看jobs表的第一条记录的max_lvl值为10,对此进行完整备份。这里备份到文件E:\学号文件夹\pubsbk。
主要操作步骤:
a. 打开SQL Server Management Studio并连接到数据库引擎。
b. 执行以下查询语句查看jobs表的第一条记录的max_lvl值:
SELECT TOP 1 max_lvl FROM jobs;
c. 记录下查询结果中的max_lvl值,假设为10。
d. 右击pubs数据库,点击任务中的备份,备份类型选择完整,设置“备份目标”-->“添加”-->“备份设备”-->“覆盖媒体”选项选择“覆盖所有现有备份集”
e. 等待备份过程完成,确保备份文件生成成功。
(3)将jobs表的第一条记录的max_lvl值改为100,使用上一步中备份的文件进行还原,查看是否恢复到原有数据。
主要操作步骤:
a. 执行以下更新语句将jobs表的第一条记录的max_lvl值改为100:
UPDATE jobs SET max_lvl = 100 WHERE job_id = (SELECT TOP 1 job_id FROM jobs);
b. 右击数据库点击还原数据库,选择目标数据库为pubs,,然后选择用于还原的备份集,再点击确定。
c. 等待还原过程完成,确保还原成功。
d. 再次执行查询语句 SELECT TOP 1 max_lvl FROM jobs;,确认max_lvl值是否恢复为10。
2.完整模式下,数据库完整备份+日志备份,再分别进行还原,备份目标为备份设备方式。
(1)设置恢复为“完整”;
(2)建立备份设备pubsbak,对应的备份文件存放在E:\学号文件夹。
(3)进行完整备份(仍以jobs表的数据为检验数据):备份到上一步建立的备份设备pubsbak中,设置“覆盖所有的备份集”。
(4)修改jobs表中的数据(记下此时修改的数据),再进行日志备份。仍然备份到备份设备pubsbak中,选择“追加到现有备份集”。
(5)查看备份设备中的媒体内容。
(6)利用备份设备中的完整备份进行完整还原,选项中选定“覆盖现有数据库”和恢复状态为“使数据库处于只读模式”。查看jobs表中数据是否被恢复到完整备份前以及对象资源管理器中pubs数据库的状态变化。
(7)再进行日志还原,选择“任务”à“还原”à“事务日志”,选择备份设备中的日志备份进行还原。恢复状态设置为“使数据库处于可以使用的状态”。查看jobs表中数据是否恢复到日志备份之前。
(四)定期自动备份
1.启动 SQL Server Agent服务
2.创建维护计划,每周五晚20:00分自动进行pubs数据库完整备份,备份到E:\学号文件夹。
3.查看是否自动备份成功
操作:先启动“SQL Server Agent”服务
选择“管理”-->利用“维护计划向导”创建自动备份
四、思考与练习
1.如果对数据库进了一次完整备份,再每隔2小时进行一次日志备份,问“是否每次还原都需要先完全还原数据库,再日志还原”?
答:
不,每次还原不需要先完全还原数据库再进行日志还原。在进行还原时,可以先还原完整备份,然后再应用相应的日志备份来恢复数据库到特定的时间点。这样可以减少还原的时间和工作量。
2.数据库的恢复模式有几种?能进行日志还原需要选择哪种恢复模式?
答:
(1)数据库的恢复模式有三种:简单恢复模式(Simple Recovery Model)、完整恢复模式(Full Recovery Model)和大容量日志恢复模式(Bulk-Logged Recovery Model)。
(2)如果要进行日志还原,需要选择完整恢复模式(Full Recovery Model)或大容量日志恢复模式(Bulk-Logged Recovery Model)。这两种恢复模式会将日志备份包括在内,可以进行事务级别的还原和恢复操作,使数据库能够恢复到特定的时间点。而简单恢复模式不支持日志备份和日志还原,只能进行完整备份的还原。