首页 > 数据库 >5.27实验四 数据库的备份和恢复

5.27实验四 数据库的备份和恢复

时间:2024-06-20 15:36:11浏览次数:24  
标签:DATABASE Students 备份 5.27 backup1 BACKUP 数据库

实验四 数据库的备份和恢复

一、实验目的:

熟悉并掌握数据库备份和恢复的原理和操作。

二、实验要求:

掌握存储设备的创建、使用。掌握数据库中数据的导入导出操作。掌握数据上的备

份和恢复操作。掌握数据库备份策略的制定原理和具体操作。

三、实验步骤:

1、开始→程序→Microsoft SQL Server→SQL Server Management Stdio。

2、在“连接到服务器”对话框中,选择“Windows 身份验证”,点击“连接”,进

入 SQL Server Management Stdio 操作界面。

3、创建 students 数据库。利用如下 sql 语句在 students 数据库中创建表。

4、数据库的备份与恢复实验

SSMS练习:

(1)创建永久备份设备:backup1和backup2。

-- 创建永久备份设备backup1

USE master;

GO

EXEC sp_addumpdevice 'disk', 'backup1', 'C:\SQLBackups\backup1.bak';

 

-- 创建永久备份设备backup2

EXEC sp_addumpdevice 'disk', 'backup2', 'C:\SQLBackups\backup2.bak';

(2)对Students数据库进行一次完整备份,并以追加的方式备份到backup1设备上。

-- 对Students数据库进行一次完整备份

BACKUP DATABASE Students TO DISK = 'C:\SQLBackups\Students_full.bak';

 

-- 将完整备份追加到backup1设备上

BACKUP DATABASE Students TO backup1 WITH INIT;

(3)删除Teaching表

DROP TABLE Teaching

(4)利用backup1对Students进行完整备份

-- 利用backup1对Students进行完整备份

BACKUP DATABASE Students TO backup1;

(5)对Students数据库进行一次完整备份,并覆盖到backup1上,覆盖掉backup上已有的备份内容。

-- 对Students数据库进行一次完整备份,并覆盖到backup1上

BACKUP DATABASE Students TO backup1 WITH INIT;

(6)在Course插入

INSERT INTO COUSe VALUES('C201',’离散教学',3,’必修’)

(7)将Students以覆盖的方式差异备份到 backup2设备上。

-- 将Students以覆盖的方式差异备份到backup2设备上

BACKUP DATABASE Students TO backup2 WITH DIFFERENTIAL;

执行下述语句删除新插入的记录:

DELETE FROM Course WHERE Con = 'C201';

(8)利用backupl和 backup2备份设备对 Students数据库的备份。恢复Siudens数据库。完全恢复完成后,在Course表中有新插入的记录吗?为什么?

BACKUP DATABASE Students TO DISK = 'backup1, backup2'

恢复过程成功,并且用于恢复的备份包含了新插入的记录,那么在完全恢复后,Course表中应该存在新插入的记录。恢复过程将数据库恢复到备份时的状态,包括备份之前所做的任何更改。

(9)将 Sudents 数据库的恢复模式改为“完整”的。

ALTER DATABASE Students SET RECOVERY FULL

(10)对Students数据库进行一次完整备份,并以覆盖的方式备份到backupl设备上。

BACKUP DATABASE Students TO DISK = 'backup1' WITH INIT

(11)执行下述语句向 Couuse 表中插人一行新记录:

 INSERT INTO Course VALUES('C202',‘编译原理',5,’必修’)

(13) 对Students数据库进行一次差异备份,并以追加的方式备份到backup1设备上。

BACKUP DATABASE Students TO DISK = 'backup1' WITH DIFFERENTIAL

(14) 执行下述语句删除新插入的记录:

DELETE FROM Course WHERE Cno=’c202’

(15)对Students数据库进行一次日志备份,并以覆盖的方式备份到backup2设备上。

BACKUP LOG Students TO DISK = 'backup2' WITH INIT

(16)利用backupl和backup2备份设备恢复 Students数据库,恢复完成后,在Course 表中有新插入的记录吗?为什么?

RESTORE DATABASE Students FROM DISK = 'backup1' WITH REPLACE

RESTORE DATABASE Students FROM DISK = 'backup2' WITH REPLACE

不会,执行了删除操作,删除了之前插入的记录

T-SQL练习:

(1) 新建备份设备back1和back2,它们均存放在D:BACKUP文件夹下(假设此文件夹已存在),对应的物理文件名分别为backl.bak和back2.bak

-- 创建备份设备back1

BACKUP DATABASE Students

TO DISK = 'D:\BACKUP\back1.bak';

 

-- 创建备份设备back2

BACKUP DATABASE Students

TO DISK = 'D:\BACKUP\back2.bak';

(2) 对Stdents数据库进行一次完整备份,以覆盖的方式备份到 back1上。

BACKUP DATABASE Students

TO DISK = 'D:\BACKUP\back1.bak'

WITH FORMAT;

(3) 删除 SC表。

DROP TABLE SC;

(4) 对Students数据库进行一次差异备份,以追加的方式备份到back1上。

BACKUP DATABASE Students

TO DISK = 'D:\BACKUP\back1.bak'

WITH DIFFERENTIAL;

(5) 删除Stdents 数据库。

DROP DATABASE Students;

(6) 利用back1备份设备上对Students数据库进行的完整备份恢复该数据库,并在恢复完成之后使数据库成为可用状态。

RESTORE DATABASE Students FROM DISK = 'backup1' WITH REPLACE;

(7) 在SSMS工具的对象资源管理器中查看是否有Students数据库?为什么?如果有。展开此数据库中的“表”节点,查看是否有SC表?为什么?

有,可以

(8) 再次利用back1备份设备恢复Students数据库,首先恢复完整备份并使恢复后的数据库成为正在恢复状态,然后再恢复差异备份并使恢复后的数据库成为可用状态。

RESTORE DATABASE Students FROM DISK = 'backup1' WITH NORECOVERY

RESTORE DATABASE Students FROM DISK = 'backup2' WITH RECOVERY

(9) 在SSMS工具的对象资源管理器中展开Shudents数据库和其下的“表”节点,这次是否有 Teaching表?为什么?

可以

(10)对Students数据库进行一次完整备份,直接备份到D:BACKUP文件夹下、备份文件名为

students.bak.

BACKUP DATABASE Students TO DISK = 'D:\BACKUP\students.bak'

(10) 对 Suudents数据库进行一次事务日志备份,以追加的方式备份到back2 设备上。

BACKUP LOG Suudents TO DISK = 'back2' WITH INIT

四、实验报告注意事项及要求:

在进行数据库备份和恢复实验的过程中,我深刻体会到了数据安全的重要性。通过备份操作,可以有效地保护数据库中的重要信息,避免数据丢失或损坏的风险。在实验中,我学会了如何使用SQL语句对数据库进行完整备份、差异备份和日志备份,并了解了不同备份方式的应用场景和特点。

 

标签:DATABASE,Students,备份,5.27,backup1,BACKUP,数据库
From: https://www.cnblogs.com/yindantong/p/18258721

相关文章

  • 6.3实验五 数据库编程
    实验五 数据库编程一、实验目的熟悉并掌握嵌入式SQL编程、使用数据库访问接口技术实现对数据库的访问。二、实验要求熟悉使用嵌入式SQL编程访问数据库,熟悉VB中开发数据库应用程序的过程。三、实验步骤设计一个小型的数据库应用程序 1. 基本表建立(1)教师表建立Xum......
  • 5.21实验三 Web数据库程序设计
    一、实验目的通过使用JSP技术设计一个简单的数据库管理系统,了解展示页面和编辑页面的区别,掌握Web服务器与MySQL数据库的连接和数据库操作的方法,掌握使用Java语言编写JSP文件的方法。二、实验内容和基本要求从以下列举的四个数据库中,任选其一,或者自行定义其他数据库,每个数据库中......
  • 5.22 实验一 数据库和表的建立、数据操作
    实验一 数据库和表的建立、数据操作一、实验目的:掌握使用SQL语言进行数据定义和数据操纵的方法。二、实验要求:建立一个数据库stumanage,建立三个关系表student,course,sc。向表中插入数据,然后对数据进行删除、修改等操作,对关系、数据库进行删除操作。三、实验步骤:1、......
  • 关于数据库的一些常用操作
    数据定义语言(DDL)DDL主要用于创建、修改和删除数据库中的对象,如数据库、表、视图等。创建数据库sql复制代码CREATEDATABASE数据库名;选择数据库sql复制代码USE数据库名;创建表sql复制代码CREATETABLE表名(列名1数据类型1,列名2数据类型2,......
  • 服务器数据库
    数据库往往是服务器中最核心的部分,所以一旦数据库发生损坏,将会带来巨大的损失,因此数据库的数据恢复功能变得越来越重要了。在服务器运行过程中,由于断电、操作不当原因损坏到服务器的硬盘的时候,怎样才能恢复网站服务器的数据呢?一、服务器存储系统非常重要,硬盘作为服务器数据存储......
  • 数据库数据恢复-oracle数据库常见故障及数据恢复分析
    作为存储和处理数据的系统,oracle数据库在使用过程中不可避免会出现各种导致数据丢失和数据损坏的故障。总结出oracle数据库常见故障以及恢复可能性。1、Oracle数据库无法启动或者启动后无法正常工作。如果故障是突发性的,通常情况下恢复的可能性极高。出现这类故障后,首先要检查s......
  • SQL、Mysql、数据库到底什么关系
    sql很多都搞不清Sql和Mysql,数据库之间的关系,其实这些概念之间的关系用下面这张图就能搞懂:也就是说,数据库是草图,Mysql是交稿,数据可以理解成砖块,sql是处理砖块(数据)的工具。下面这张图是SQL的常见分类,以及常用操作指令:数据库中表的结构包括了代表列名的列,和具体数据的行表中的......
  • 数据库管理系统的数据隔离级别
    数据库中的幻读和不可重复读是并发事务处理中的两个重要概念,它们与事务的隔离级别紧密相关。以下是对这些概念的进一步解释以及它们在不同隔离级别下的表现:不可重复读(Non-repeatableRead):不可重复读发生在一个事务读取了某个数据项,然后在同一事务中再次尝试读取同一数据项时,发......
  • 单细胞测序最好的教程(十四)测序原始数据公开至NCBI数据库
    作者按国内对于单细胞测序相关的中文教程确实不够全面,当然NCBI官网给的上传教程也比较详细了,所以变成了会者不难。本教程你现在可能用不上,但是你如果做单细胞测序,那么未来你一定会用上,建议收藏。在这里,我们将演示如何将测序文件完整上传到NCBI上。本教程首发于单细胞最好的中文......
  • 数据库系统概论-第6章关系数据理论
    6.1问题的提出针对一个具体问题,应该如何构造一个适合于它的数据库模式,即应该构造几个关系模式,每个关系由哪些属性组成。关系数据库的规范化理论。本章中把关系模式看作一个三元组R<U,F>。当且仅当U上的一个关系r满足F时,r称为关系模式R<U,F>的一个关系。作为一个二维表,关系要......