参考:https://www.cnblogs.com/gered/p/9882367.html

关键词:解析事务日志

新建数据库test3,然后查看日志文件,382行记录

SELECT min([Begin Time]),max([Begin Time]),min([Current LSN]),max([Current LSN])
FROM [sys].[fn_dblog](NULL,NULL)

  查看其最大最小

  

建表删除测试

create table test1_1(id int,num int);
insert into test1_1 values(1,1),(2,2),(3,3)
delete test1_1

查看,多了80条,共462条

SELECT *
FROM [sys].[fn_dblog](NULL,NULL)
where [Current LSN]>='00000020:000000d5:000a'

    

进行全备

backup database test3 to disk = 'C:\backup\test3.bak'

全备之后,只有10行了!,证明什么,证明第一次全备会截断事务日志嘛?截断多少呢?我们看看全备里有多少!

  

我们看看备份文件中的日志记录

  

SELECT
*
--INTO ##temptable
FROM fn_dump_dblog (NULL, NULL, N'DISK', 1, N'C:\backup\test3.bak',
DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT)

然后查看结果,发现图中关于operation中列,关于create / insert / delete的记录都不见了,且行数也只有198行。

据大佬们说,是全备会省掉很多不必要的记录。

  

这个时候,用spexsql 结合bak和ldf,还是可以找到。

单纯用日志文件也可以找到。。这证明了,全备并没有截断事务日志!

但却会对fn_dblog()函数有巨大影响,fn_dump_dblog 我这里看不出来,后续等大佬指点 或者自己了解了再来更新

  

我尝试用ldf日志文件+spexsql 来进行undo,恢复我被删除的数据(但好像未激活的只能操作10条?)

  

但好像未激活的只能操作10条? 我试试,再插入15条删除

insert into test1_1 values(11,11)
insert into test1_1 values(11,11)
insert into test1_1 values(11,11)
insert into test1_1 values(11,11)
insert into test1_1 values(11,11)
insert into test1_1 values(11,11)
insert into test1_1 values(11,11)
insert into test1_1 values(11,11)
insert into test1_1 values(11,11)
insert into test1_1 values(11,11)
insert into test1_1 values(11,11)
insert into test1_1 values(11,11)
insert into test1_1 values(11,11)
insert into test1_1 values(11,11)
insert into test1_1 values(11,11)
delete test1_1; 结果是这样的,已经彻底乱了

  

运行一下上图这几句插入语句
再来生成Undo
  

  

这什么玩意。。


看来,spexsql 评估版 只能undo/redo 10条的记录是真的。。

但是记录情况,还是可以完整的查到的。

  

再来,只通过全备的.bak文件查看一下,利用spexsql 生成一下undo。发现无论查看还是生成undo啥也没有,还是不行,得用ldf日志文件。

  

  

--------------------------

关于后续的事务日志备份,下次有时间再更新

总结:全备并没有截断事务日志!

首次全备及事务备份对数据库的影响,2014 SpexSql log评估版探索的更多相关文章

  1. 使用xtrabackup备份mysql数据库

    数据在一个企业里非常重要,因此经常需要备份数据库,确保出线故障时,可以立刻恢复数据到最新状态,目前常见的备份工具有mysqldump和xtrabackup,数据量较少时可以使用mysqldump,但随 ...

  2. mysql全备和增量备份以及恢复过程(percona工具)

    实验环境 系统环境,内核版本和xtrabackup工具版本 [root@linux-node1 mysql]# cat /etc/redhat-release CentOS Linux release ...

  3. mysql之 Innobackupex(全备+增量)备份恢复

    MySQL的热备(物理备份)可以采取全备加增量备份的方式来减轻数据库I/O压力及系统资源的占用.增量备份主要是以全备或增量备份为基础,备份那些变更过的页面.其备份的原理是基于一个不断增长的LSN序列, ...

  4. 配合crond服务实现自定义周期备份MySQL数据库(使用innobackupex进行备份)

    备份 新建一个脚本/root/backup.py,内容如下: #!/usr/bin/env python# -*- coding: utf-8 -*- ''' 脚本作者:昨夜星辰 脚本作用:配合cro ...

  5. MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份]

    MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份] 1.Xtrabackup的安装 percona-xtrabackup-2.2.3-4982.el6.x86_ ...

  6. 一个备份MySQL数据库的简单Shell脚本(转)

    Shell脚本是我们写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行.我们也可以逐一敲入命令手动执行.如果我们要使用shell脚本就必须在一开始把这些命令写到一个文本文件中,以后就可以随意反 ...

  7. [转]一个备份MySQL数据库的简单Shell脚本

    本文翻译自 iSystemAdmin 的 <A Simple Shell Script to Backup MySQL Database> Shell脚本是我们写不同类型命令的一种脚本,这 ...

  8. 学会4种备份MySQL数据库(基本备份方面没问题了)

    前言 我们试着想一想, 在生产环境中什么最重要?如果我们服务器的硬件坏了可以维修或者换新, 软件问题可以修复或重新安装, 但是如果数据没了呢?这可能是最恐怖的事情了吧, 我感觉在生产环境中应该没有什么 ...

  9. ​学会用各种姿势备份MySQL数据库

    学会用各种姿势备份MySQL数据库 前言 为什么需要备份数据? 数据的备份类型 MySQL备份数据的方式 备份需要考虑的问题 设计合适的备份策略 实战演练 使用cp进行备份 使用mysqldump+复 ...

随机推荐

  1. SpringBoot框架(5)-- @EableAutoConfiguration项目应用

    场景:在项目中想在当前maven项目中自动装配其他自定义的Maven项目,例如,创建数据库配置中心,被夺多个maven引用,希望简单配置,就实现springboot自动装配数据库配置类. 由此我们联想 ...

  2. day_06 猜年龄游戏,三级菜单 ,求1 - 2 + 3 - 4 + 5...99的所有数的和(课后作业)

    1.猜年龄游戏: 要求: 允许用户最多尝试3次 每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序 如果猜对了,有三次选择奖励 ...

  3. HTTP协议的请求方法

    HTTP概念: HTTP是一个基于TCP/IP通信协议来传递数据,包括html文件.图像.结果等,即是一个客户端和服务器端请求和应答的标准 1.http无连接:限制每次连接只处理一个请求,服务端完成客 ...

  4. Python:日期表达的转换(day of year & year month day)

    我们常用的日期格式是“年月日”型的,即year-month-day,比如今天是2019年9月14日,2019-09-14. 然而,有些地方,比如遥感图像下载的命名里面,为了数据表示方便,常常是doy( ...

  5. C# 之 数组倒叙排列

    //倒叙排列 string temp=""; ; i < strlist.Length / ; i++) { temp = strlist[i]; strlist[i] = ...

  6. 随机数:rand()

    首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,下面将详细说明.   rand(产生随机数)   表头文件: #include<stdlib ...

  7. Tire树简介

    又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种. 典型应用:用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计. 它的优点是:利用字符串的公共 ...

  8. Redis配置文件全解

    基本配置 port 6379  # 监听端口号,默认为 6379,如果你设为 0 ,redis 将不在 socket 上监听任何客户端连接. daemonize no #是否以后台进程启动 datab ...

  9. Spring Boot教程(八)创建含有多module的springboot工程

    创建根工程 创建一个maven 工程,其pom文件为: <?xml version="1.0" encoding="UTF-8"?> <pro ...

  10. CSS 处理溢出强行换行

    CSS折行样式 word-break:break-all;允许单词拆分折行 word-break:keep-all;只能在半角空格或连字符处换行. word-wrap:break-word;在长单词或 ...