您所在的位置:首页 > 新闻中心 > SQLServer数据事务日志操作,SQLServer数据库差异备份
公司要闻
SQLServer数据事务日志操作,SQLServer数据库差异备份
发布时间:2020-03-26 05:15
访问量:359

备份设备

要写入 SQL Server 备份及能从中还原这些备份的磁盘或磁带设备。 SQL Server 备份也可以写入 Microsoft Azure Blob 存储服务,并且使用 URL 格式来指定备份文件的目标和名称。 有关详细信息,请参阅 使用 Microsoft Azure Blob 存储服务进行 SQL Server 备份和还原。

使用SSMS数据库管理工具备份事务日志

1、连接数据库,选择数据库-》右键点击-》选择任务-》选择备份。

图片 1

2、在备份数据库弹出框中-》备份类型选择事务日志备份-》删除系统自动生成的文件名-》点击添加。

图片 2

3、在选择备份目标弹出框中选择备份路径。

图片 3

4、在定位数据库文件弹出框中-》选择备份文件路径-》输入文件名(注意添加后缀名)-》点击确定。

图片 4

 5、弹出框都点击确定。

图片 5

6、示例结果:

图片 6

使用SSMS数据库管理工具进行数据库差异还原

差异备份与还原须知:差异备份是上次完整备份之后发生改变的副本。所以还原是需要上次的完整备份和最近一次差异备份。差异备份有两步操作,第一步为还原数据库,第二步还原差异部分。

还原数据库步骤

1、选择数据库-》右键点击-》选择任务-》选择还原-》选择数据库。

图片 7

2、在还原数据库弹出框中-》先点击设备-》再点击还原文件路径。

图片 8

3、在选择备份设备弹出框中-》点击添加文件。

图片 9

4、在定位备份文件弹出框中-》先选择文件夹-》再选择要还原的文件-》点击确定。

图片 10

5、进入还原模式。

图片 11

6、覆盖现有数据库可不勾选-》选择数据库恢复模式为设置为NORecorvery。

图片 12

7、查看数据库状态。

图片 13

还原差异文件步骤

1、选择要还原的数据库-》右键点击-》选择任务-》选择还原-》选择文件和文件组。

图片 14

2、在还原文件和文件组弹出框-》选择设备-》选择文件还原路径。

图片 15

3、在选择备份设备弹出框-》选择添加。

图片 16

4、在定位备份文件弹出框-》选择要还原的差异文件-》点击确定。

图片 17

5、在还原文件和文件组弹出框-》选择文件-》点击选项。

图片 18

6、选择恢复状态-》点击确定。

图片 19

7、还原结果。

图片 20

图片 21

使用T-SQL脚本还原数据库

 

还原数据库语法:   restore database 数据库名 from disk=完整路径;

示例:restore database testss from disk='D:\SqlTest\backup\testss.bak';

图片 22

使用SSMS数据库管理工具还原事务日志

数据库事务日志还原分为两步,第一步为还原数据库,第二步为还原数据库事务日志

第一步还原数据库

1、连接数据库,选择要还原的数据库-》右键点击-》选择任务-》选择还原-》选择数据库。

图片 23

2、在还原数据库弹出框中-》选择设备-》选择要还原的文件的路径。

图片 24

3、在选择备份设备弹出框中-》点击添加。

图片 25

4、在定位备份文件弹出框中-》选择文件所在文件夹-》选择要还原的文件。

图片 26

5、在还原数据库弹出框中-》点击选项选择恢复模式。

图片 27

6、在还原数据库弹出框中-》如果要还原的数据库已存在,选择覆盖现有数据库,如果不存在,不必选择-》选择数据库恢复模式为RESTORE WITH NORECOVERY。

图片 28

7、点击确定。

图片 29

8、此时数据库状态为正在还原。

图片 30

第二步还原事务日志文件

1、选择正在还原数据库-》右键点击-》选择任务-》选择还原-》选择事务日志。

图片 31

2、在还原事务日志弹出框中-》选择备份介质-》选择路径。

图片 32

3、在选择备份设备弹出框中-》点击添加。

图片 33

4、在定位备份文件弹出框中-》选择文件所在路径-》选择要还原的文件-》点击确定。

 图片 34

5、在还原事务日志弹出框-》选择选项-》选择要还原的恢复模式。

图片 35

6、在还原事务日志弹出框中-》选择回滚未提交的事务-》点击确定。

图片 36

7、还原结果。

图片 37

8、数据库状态。

图片 38

使用SSMS数据库管理工具进行数据库差异备份

1、选择数据库-》右键点击-》选择任务-》选择备份。

图片 39

2、在备份数据库弹出框中-》选择备份类型为差异-》然后删除系统生成的目标文件-》然后点击添加。

图片 40

3、在选择备份目标弹出框中-》点击选择备份路径。

图片 41

4、在定位数据库文件弹出框中,先选择需要备份的文件路径,然后数据备份文件名,点击确定。

图片 42

 5、在备份数据库弹出框,点击确定。

图片 43

6、查看备份是否成功。

图片 44

备份术语的术语表

总结

优点:

1、日志备份会节约更多的时间,恢复起来也更快可以及时恢复,数据丢失少。

2、在SQL Server中,事务日志备份是增量备份,它捕获的是自上一次事务日志备份以来的变化,而差异备份则包含了自上一次完整备份以来所有变化的页。

3、日志备份可以恢复到相应的时间点。

缺点:恢复过程比较慢,需要恢复多个备份包括完整备份和日志备份。

 

使用T-SQL脚本进行差异还原

语法:第一步先指定数据库恢复模式:restore database 数据库名 from disk=数据库文件 with norecovery ;

           第二步再恢复差异备份:restore database 数据库名 from disk=差异文件 with recovery;
示例:第一步先恢复备份数据库:restore database testss from disk='D:\SqlTest\backup\testss.bak' with norecovery ;

           第二步再恢复差异备份:restore database testss from disk='D:\SqlTest\backup\t3.bak' with recovery;

           (注意数据库如果存在,可删除或者使用覆盖先有数据库)

图片 45

备份

 创建备份的过程,方法是通过复制 SQL Server 数据库中的数据记录或复制其事务日志中的日志记录。备份 可用于在出现故障后还原或恢复数据的数据副本。 数据库备份还可用于将数据库副本还原到新位置。

使用T-SQL脚本还原数据库事务日志

如果要还原的数据库不存在

还原语法:

第一步还原数据库:restore database 数据库名 from disk=文件完整路径 with norecovery;

第二步还原事务日志:restore log 数据库名 from disk=文件完整路径 with recovery;

示例:

第一步还原数据库:restore database testss from disk='D:\SqlTest\backup\sw1.bak' with norecovery;

第二步还原日志文件:restore log testss from disk='D:\SqlTest\backup\sw11.bak' with recovery;

图片 46

 

 

 

如果要还原的数据库存在

还原语法:

第一步还原数据库:restore database 数据库名 from disk=文件完整路径 with norecovery,replace;

第二步还原事务日志:restore log 数据库名 from disk=文件完整路径 with recovery;

示例:

第一步还原数据库:restore database testss from disk='D:\SqlTest\backup\sw1.bak' with norecovery,replace;

第二步还原日志文件:restore log testss from disk='D:\SqlTest\backup\sw11.bak' with recovery;

图片 47

差异备份 (differential backup)定义

一种数据备份,基于完整数据库或部分数据库或一组数据文件或文件组(差异基准)的最新完整备份,并且仅包含自确定差异基准以来发生更改的数据。

 总结

优点:1、这种模式下,所有数据库操作都被完整地记录在日志中,出现某些操作在这种模式下也还是最小化日志,并且不是自动截断,它支持任何备份还原策略,特别是时间点还原。

           2、能够完整记录数据库操作进行时间点恢复,保证数据尽可能0丢失。

缺点:1、需要严格管理事务日志文件。

      2、数据库规模可能会变得难以控制。

使用T-SQL脚本备份数据库事务日志

备份语法:backup log 数据库名 to disk=文件完整路径;

示例:backup log testss to disk='D:\SqlTest\backup\sw3.bak';

图片 48

 总结

优点:1、与创建完整备份相比,创建差异备份的速度可能非常快。 差异备份只记录自差异备份所基于的完整备份后更改的数据。 这有助于频繁地进行数据备份,减少数据丢失的风险。 但是,在还原差异备份之前,必须先还原其基准。 因此,从差异备份进行还原必然要比从完整备份进行还原需要更多的步骤和时间,因为这需要两个备份文件。

   2、如果数据库的某个子集比该数据库的其余部分修改得更为频繁,则差异数据库备份特别有用。 在这些情况下,使用差异数据库备份,您可以频繁执行备份,并且不会产生完整数据库备份的开销。

   3、在完整恢复模式下,使用差异备份可以减少必须还原的日志备份的数量。

缺点:差异备份基于最后一次完整备份的差异,那么,对于一个繁忙的数据库,在一段时间内做了几次差异备份,无论这中间有多少次Checkpoint,SQL Server依然将这些基于完整备份的差异页面放入差异备份文件,按道理来说,一个页面在一次Checkpoint之后,如果没有再发生任何修改,那么是不需要放入差异备份文件里面的(如果是基于最后一次差异的差异),因为差异位图无法基于差异的差异,这样会导致,有时候差异备份文件比完整备份文件还要大。

使用T-SQL脚本备份数据库

本分数据库语法:backup database 数据库名 to disk=路径;

示例:backup database testss to disk='D:\SqlTest\backup\testss.bak';

图片 49

图片 50

 

日志备份 (log backup)

包括以前日志备份中未备份的所有日志记录的事务日志备份。 (完整恢复模式)

使用T-SQL脚本进行差异备份

语法:backup database 数据库名 to disk=文件路径 with differential;

示例:backup database testss to disk='D:\SqlTest\backup\t3.bak' with differential;

图片 51

使用SSMS数据库管理工具还原数据库

打开数据库管理工具,连接数据库-》右键点击数据库-》选择还原数据库-》在还原数据库弹出框选择设备,点击右边的选择文件按钮-》在选择备份设备弹出框中,点击添加-》在定位备份文件中,选择你要还原的文件,点击确定-》在选择备份设备弹出框中,点击确定-》在还原数据库弹出框选择设备,点击确定-》刷新数据库即可看到

图片 52

图片 53

图片 54

 

图片 55

 图片 56

图片 57

数据库备份 (database backup)

数据库的备份:完整数据库备份表示备份完成时的整个数据库。 差异数据库备份只包含自最近完整备份以来对数据库所做的更改。

使用SSMS数据库管理工具备份数据库

打开数据库管理工具,选择要备份的数据库-》右键点击-》选择任务-》选择备份-》数据库管理工具默认是完整备份,不用修改其他配置-》找到目标,删除当前文件-》选择添加-》在选择备份目标弹出框中点击选择路径-》选择路径-》在定位数据库文件弹出框中输入文件名-》最后在备份数据库文件框中点击确定

图片 58

图片 59

图片 60

 图片 61

 

图片 62

图片 63

备份介质

已写入一个或多个备份的一个或多个磁带或磁盘文件。

完整备份 (full backup)

一种数据备份,包含特定数据库或者一组特定的文件组或文件中的所有数据,以及可以恢复这些数据的足够的日志。

数据备份 (data backup)

完整数据库的数据备份(数据库备份)、部分数据库的数据备份(部分备份)或一组数据文件或文件组的数据备份(文件备份)。