SQL Server 备份和还原

摘要:
SQL Server备份恢复模式SQL Server数据恢复模式可分为三种类型:完全恢复模式、大容量日志恢复模式和简单恢复模式。数据库备份SQL Server提供四种备份模式:完全备份、差异备份、事务日志备份以及文件和文件组备份。此时删除所有数据--删除数据删除对象--0还原数据库时,如果必须还原完整备份、差异备份和事务日志备份,则必须按此顺序还原它们。
SQL Server 备份

恢复模式

SQL Server 数据恢复模式分为三种:完整恢复模式、大容量日志恢复模式、简单恢复模式。

SQL Server 备份和还原第1张

完整恢复模式

默认的恢复模式,它会完整记录下操作数据库的每一个步骤,使用完整恢复模式可以将一个数据库恢复到一个特定的时间点,这个时间点可以是最近一次可用的备份、一个特定的日期和时间的事务。

大容量日志恢复模式

它是对完整恢复模式的补充,就是要对大容量操作进行最小日志记录,节省日志文件的空间。

比如说一次在数据库中插入几十万条记录时,如果是完整恢复模式会记录每一个插入动作,使日志文件变的非常大。在大容量日志恢复模式下,只记录必要操作,不记录所有日志,这样可以提高数据库性能。但是由于日志记录不完整,一旦出现问题,数据将可能无法恢复。

因此,一般只有在操作大量数据的时候才将恢复模式改为大容量日志恢复模式,在数据处理完毕后,马上将恢复模式改回完整数据库模式。

简单恢复模式

简单恢复模式下,数据库会自动把不活动的日志删除,因此简化了备份的还原,但因为没有日志备份,所以不能恢复到失败的时间点。通常,这个模式只用于对数据库安全要求不太高的数据库。并且数据库只能做完整和差异备份,无法使用事务日志备份。

数据库备份

SQL Server 提供了四种备份模式:完整备份,差异备份,事务日志备份,文件和文件组备份。

SQL Server 备份和还原第2张

完整备份

备份整个数据库的所有内容,包括事务日志。该备份类型需要比较大的存储空间来存储备份文件,备份时间也比较长,在还原数据库时,也只要还原一个备份文件即可。

如:2015年1月1日 8点进行了完整备份,那么恢复数据的时候就是恢复到2015年1月1日 8点的数据。

差异备份

差异备份是完整备份的补充,只备份上次完整备份后更改的数据。相对于完整备份来说,差异备份的数据量比完整数据备份小,备份的速度也比完整备份要快。因此,差异备份通常座位常用的备份方式。在还原数据时,要先还原前一次的完整备份,然后还原最后一次所做的差异备份。

如:2015年1月1日 8点进行了完整备份,在1月2日 和1月3日又分别进行了差异备份,那么1月2日记录的是1-2的数据,1月3日则是1-3的数据。因此在还原时,如果想回到3日的状态,需要先恢复完整备份,然后还原1月3日的差异备份即可。

事务日志备份

事务日志备份只备份事务日志里的内容,事务日志记录了上一次完整备份或事务日志备份后数据库的所有变动过程。事务日志记录的是某一段时间内的数据库变动情况,因此在进行事务日志备份之前,必须要进行完整备份。与差异备份类似,事务日志备份生成的文件娇小、占用时间较短,但是在还原数据库时,除了要线还原完整备份外,还要依次还原每个事务日志备份,而不是还原最后一个。

如:2015年1月1日 8点进行了完整备份,此时对数据库做的所有改动都会按照时间分批存储在事务日志备份中,这样可以还原到某个时间点,使用SSMS可以自动完整相关时间链。

文件和文件组备份

如果在创建数据库时,为数据库创建了多个数据库文件或文件组,可以使用该方式。使用文件和文件组备份方式可以只备份数据库中的某些文件,该备份方式在数据库文件非常庞大时非常有效,由于每次备份一个或几个文件,可以分多次来备份数据库,避免大型数据库备份的时间过长。另外,当某个文件损坏时,可以只还原损坏的文件或文件组部分。

进行完整备份

SQL Server 备份和还原第3张

SQL Server 备份和还原第4张

SQL Server 备份和还原第5张

SQL Server 备份和还原第6张

SQL Server 备份和还原第7张

备份完成后,去选择的目录中查看文件。

SQL Server 备份和还原第8张

--完整备份
select count(*) from news
--79647

此时插入测试数据,并执行差异备份

复制代码
复制代码
--插入测试数据
declare @index int = 1
while (@index <100)
begin
    insert into news (title,content,datetime) values ('title' + cast(@index as varchar),'content',getdate())
    set @index = @index +1
end

select count(*) from news
--79746
复制代码
复制代码

SQL Server 备份和还原第13张

查看目录,文件已经变大了。

SQL Server 备份和还原第14张

继续插入测试数据,并执行事务日志备份

复制代码
复制代码
--插入测试数据
declare @index int = 1
while (@index <100)
begin
    insert into news (title,content,datetime) values ('title' + cast(@index as varchar),'content',getdate())
    set @index = @index +1
end

select count(*) from news
--79845
复制代码
复制代码

SQL Server 备份和还原第19张

目录下的文件又变大了,我就不截图了。

此时删除所有数据

--删除数据
delete news 
--0

SQL Server  还原

还原数据库时,如果必须还原一个完整备份、一个差异备份以及一个事务日志备份,则必须按照这个顺序来还原。

在还原数据库时,数据库处于一个不可用的状态,如此就可以添加后续的差异和事务日志备份了。

使用SSMS工具恢复,可以自动识别一个完整的备份链,从而根据指定的内容还原全部备份,还原后数据库就可用了。

SQL Server 备份和还原第20张

SQL Server 备份和还原第21张

SQL Server 备份和还原第22张

SQL Server 备份和还原第23张

SQL Server 备份和还原第24张

SQL Server 备份和还原第25张

SQL Server 备份和还原第26张

SQL Server 备份和还原第27张

select count(*) from news
--79845

执行sql语句,数据还原到最后一次有效的事务日志备份了。

关于备份还有一个小东西,备份设置,可以设置好物理路径,存个逻辑名,备份的时候选择这个名字,不用去找路径。

SQL Server 备份和还原第28张
SQL Server 备份和还原第29张
SQL Server 备份和还原第30张
SQL Server 备份和还原第31张

唯一一点作用就是可以看里面详细的备份信息

 

免责声明:文章转载自《SQL Server 备份和还原》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇面试六十家公司的深圳体验【转载】nginx调整large_client_header_buffers下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

浅谈大型web系统架构(一)

目录 Web前端系统 负载均衡系统 数据库集群系统 缓存系统 分布式存储系统 分布式服务器管理系统 代码发布系统   动态应用,是相对于网站静态内容而言,是指以c/c++、php、Java、perl、.net等服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通常与数据库系统、缓存系统、分布式存储系统等密不可...

安装Oracle时选择桌面类和服务器类的区别

桌面类――这种安装方式一般适用于台式机和笔记本。它包含一个最小数据库和最低的配置需求。服务器类――这种安装方式适用于服务器,例如,它会向您提供数据中心和用于支持企业级的应用程序。如果您需要使用高级配置选项,请选择此安装类型。在桌面类中,只有基本选择项。在服务器类,您可以选择标准安装(仅让您作有基本选择)或高级安装。在桌面类或典型安装中,Oracle数据库将...

五十款阿里开源软件说明介绍

阿里巴巴的Github代码托管地址:https://github.com/alibaba 通过写这篇文章从开源中国站上面看了很多,也从那里将开源软件的基本的介绍和下载地址拷贝到了文章当中,总体给我的一个感受就是阿里的开源实在太强大了,多到需要花大量的时间去了解。今天写这篇文章主要是对阿里开源的项目比较陌生,通过本文也有了一个大体的认知。每个人每天有24小时...

Delphi笔记数据库开发

Delphi笔记-数据库开发  数据集的每一列被称为一个字段,每一行被称为一个记录。 •数据集:是一个分立的数据记录的集合。数据集由VCL的TDataSet表示。 •表:一种特殊类型的数据集。表一般是一个实际存储在磁盘上、包含有数据记录的文件。VCL的TTable类中封装了它的各种功能。 •查询:也是一种特殊类型的数据集。它可以被看作是执行了特殊命令后所产...

[Project] HUSTOJ随笔

转载自 : http://blog.csdn.net/zhblue/article/details/7259940 (版权为 zhblue) HUSTOJ http://code.google.com/p/hustoj 是一个开源OnlineJudge系统,广泛应用于计算机程序设计比赛和编程能力测试。 从代码上HUSTOJ分为两大部分,core...

教你调用数据库读取短信 记事本 通讯录文件,让ios5的短信恢复到ios4

由于高版本的ios固件向下恢复到低版固件时无法通过itunes恢复备份,所以一些数据,比如SMS需要通过提取文件的方式单独进行备份恢复特别是ios5的短信,之前很是头痛,直接将文件恢复到指定目录修改权限是不行的,因为ios5对sms数据库进行了修改,与ios4不匹配,为了使短信恢复,就尝试打开数据,修改看看,结果证明可行我这里针对的是ios5的短信,当然如...