SQL数据恢复总结 - sql server 2012数据库基础-数据恢复-实验报告

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: SQL数据恢复总结 - sql server 2012数据库基础-数据恢复-实验报告

数据恢复是对数据库进行备份和还原,当数据库因为各种原因被损坏或者无法读取的时候,会造成无法估量的后果,这个时候就需要数据库还原工具,进行还原。

数据库故障分为“软故障”和“硬故障”两种,“软故障”是因为断电导致软件方面的故障,“硬故障”是因为物理硬件坏了,导致数据库破损。相当于电脑的操作系统故障和物理设备的故障。

数据库恢复分为完全备份和增量备份,完整备份效果最好,但是比较消耗时间;增量的备份保存的是对数据库的操作,在完整备份的基础上,使用增量备份也可以达到还原要求,但是增量备份时间消耗比较少,所以在选择数据库还原策略的时候,因为根据实际情况选择完全备份和增量备份。


全部总结链接

SQL基础   (数据库、表、数据的增删改查、视图相关,以及所有实验报告源代码)

游标 (类似C++ 的 指针)

存储过程(类似 C++ 的自定义函数)

触发器 (类似 自定义的陷阱,或者说是监听器,满足某个条件了执行某个方法)

用户权限及权限管理 (类似Windows的多用户管理)

并发控制 (了解多个用户同时对数据造成错误的情况 和 解决方法)

数据恢复(当数据库数据丢失,相应的解决方法)

 

课程名称  数据库基础            

实验项目   实验15 数据恢复      


实验要求:

(1)软故障后的恢复

    参照例题中的程序设计事务及事务处理的程序;

    模拟软故障的情形,使设计的事务及事务处理程序的各个分支都可以执行到;

    体会事务的原子性和一致性。

(2)硬故障后的恢复

    针对一个具体的数据库设计一个备份恢复策略;

    做数据库全备份和若干增量备份(每次备份后都有一些数据操作);

    模拟一个硬故障(假设数据库损坏);

    备份当前日志;

    恢复数据库。

(3)在实验报告中要给出具体的操作步骤和过程,并针对各种情况做出具体的分析和讨论。


实验过程

 

首先是概念问题。数据库恢复是建立在数据库故障之上的。数据库故障分为软故障和硬故障,软故障指的是突然停电、应用程序被强制结束的情况下,数据库的数据丢失或者损坏。硬故障指的是保存数据库的物理介质坏了,造成数据的遗失或者无法读取。

总体思路:

第一题:然而机房的电脑自带重启还原,无法实现断电重启的条件,我让一个事务(若干修改指令中间加了一个等待指令,以便我使用任务管理器强制关闭sql server),因为事务的原子性,虽然等待指令前的修改指令已经被执行,但是因为事务未完全执行完毕,所以被还原恢复。

第二题:题目给出了条件是“假设数据库损坏”,我先把数据库完整备份,然后把数据库脱机,最后把数据库恢复。

代码截图:

第一题:软故障后的恢复

图 1 首先看到原始的 学时 数据为6

图 2  设计一个事务 内有若干更新操作 中间加一个等待期

图 3   在等待期内 使用任务管理器 强制结束

 

 

图 4   再次登入数据库  查看学时数据  还是为6,说明事务完全没有执行

 

第二题:硬故障后的恢复

图 5  首先对‘学生管理系统‘进行完整备份

图 6 然后模拟 硬故障 删除该数据库

 

图 7  接着还原数据库 覆盖还原

图 8   接着打开还原的数据库 发现数据和原先一致


相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
8天前
|
SQL Oracle 关系型数据库
sql语句创建数据库
在创建数据库之前,请确保你有足够的权限,并且已经考虑了数据库的安全性和性能需求。此外,不同的DBMS可能有特定的最佳实践和配置要求,因此建议查阅相关DBMS的官方文档以获取更详细和准确的信息。
|
7天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
|
8天前
|
SQL 缓存 数据库
sql 数据库优化
SQL数据库优化是一个复杂且关键的过程,涉及多个层面的技术和策略。以下是一些主要的优化建议: 查询语句优化: 避免全表扫描:在查询时,尽量使用索引来减少全表扫描,提高查询速度。 使用合适的子查询方式:子查询可能降低查询效率,但可以通过优化子查询的结构或使用连接(JOIN)替代子查询来提高性能。 简化查询语句:避免不必要的复杂查询,尽量使SQL语句简单明了。 使用EXISTS替代IN:在查询数据是否存在时,使用EXISTS通常比IN更快。 索引优化: 建立合适的索引:对于经常查询的列,如主键和外键,应创建相应的索引。同时,考虑使用覆盖索引来进一步提高性能。 避免过多的索引:虽然索引可以提高查询
|
8天前
|
SQL XML 数据库
sql导入数据库命令
在SQL Server中,数据库导入可通过多种方式实现:1) 使用SSMS的“导入数据”向导从各种源(如Excel、CSV)导入;2) BULK INSERT语句适用于导入文本文件;3) bcp命令行工具进行批量数据交换;4) OPENROWSET函数直接从外部数据源(如Excel)插入数据。在操作前,请记得备份数据库,并可能需对数据进行预处理以符合SQL Server要求。注意不同方法可能依版本和配置而异。
|
15天前
|
SQL 安全 网络安全
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
34 0
|
16天前
|
SQL 数据库
数据库SQL语言实战(二)
数据库SQL语言实战(二)
|
16天前
|
SQL 关系型数据库 数据库
【后端面经】【数据库与MySQL】SQL优化:如何发现SQL中的问题?
【4月更文挑战第12天】数据库优化涉及硬件升级、操作系统调整、服务器/引擎优化和SQL优化。SQL优化目标是减少磁盘IO和内存/CPU消耗。`EXPLAIN`命令用于检查SQL执行计划,关注`type`、`possible_keys`、`key`、`rows`和`filtered`字段。设计索引时考虑外键、频繁出现在`where`、`order by`和关联查询中的列,以及区分度高的列。大数据表改结构需谨慎,可能需要停机、低峰期变更或新建表。面试中应准备SQL优化案例,如覆盖索引、优化`order by`、`count`和索引提示。优化分页查询时避免大偏移量,可利用上一批的最大ID进行限制。
64 3
|
11天前
|
关系型数据库 MySQL 分布式数据库
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
47 2
|
27天前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
108 0
|
27天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)