首次全备及事务备份对数据库的影响,2014 SpexSql log评估版探索
参考: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评估版探索的更多相关文章
- 使用xtrabackup备份mysql数据库
数据在一个企业里非常重要,因此经常需要备份数据库,确保出线故障时,可以立刻恢复数据到最新状态,目前常见的备份工具有mysqldump和xtrabackup,数据量较少时可以使用mysqldump,但随 ...
- mysql全备和增量备份以及恢复过程(percona工具)
实验环境 系统环境,内核版本和xtrabackup工具版本 [root@linux-node1 mysql]# cat /etc/redhat-release CentOS Linux release ...
- mysql之 Innobackupex(全备+增量)备份恢复
MySQL的热备(物理备份)可以采取全备加增量备份的方式来减轻数据库I/O压力及系统资源的占用.增量备份主要是以全备或增量备份为基础,备份那些变更过的页面.其备份的原理是基于一个不断增长的LSN序列, ...
- 配合crond服务实现自定义周期备份MySQL数据库(使用innobackupex进行备份)
备份 新建一个脚本/root/backup.py,内容如下: #!/usr/bin/env python# -*- coding: utf-8 -*- ''' 脚本作者:昨夜星辰 脚本作用:配合cro ...
- MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份]
MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份] 1.Xtrabackup的安装 percona-xtrabackup-2.2.3-4982.el6.x86_ ...
- 一个备份MySQL数据库的简单Shell脚本(转)
Shell脚本是我们写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行.我们也可以逐一敲入命令手动执行.如果我们要使用shell脚本就必须在一开始把这些命令写到一个文本文件中,以后就可以随意反 ...
- [转]一个备份MySQL数据库的简单Shell脚本
本文翻译自 iSystemAdmin 的 <A Simple Shell Script to Backup MySQL Database> Shell脚本是我们写不同类型命令的一种脚本,这 ...
- 学会4种备份MySQL数据库(基本备份方面没问题了)
前言 我们试着想一想, 在生产环境中什么最重要?如果我们服务器的硬件坏了可以维修或者换新, 软件问题可以修复或重新安装, 但是如果数据没了呢?这可能是最恐怖的事情了吧, 我感觉在生产环境中应该没有什么 ...
- 学会用各种姿势备份MySQL数据库
学会用各种姿势备份MySQL数据库 前言 为什么需要备份数据? 数据的备份类型 MySQL备份数据的方式 备份需要考虑的问题 设计合适的备份策略 实战演练 使用cp进行备份 使用mysqldump+复 ...
随机推荐
- java基础语法2-运算符与流程控制
关键字-标识符-常量和变量-运算符-流程控制-方法-数组 5 运算符 算术运算符Arithmetic Operators 赋值运算符Assignment Operators 比较运算符Compare ...
- C语言字符串追加,双色球等案例
//C语言中没有字符串概念,有的只是字符型数组,以str1[]的值为例,该字符数组的长度为11--->包含了字母,空格,以及结束字符'\0'(斜杠0)//基于上述原因,读取一个字符型数组的有效方 ...
- fail2ban CentOS7安装
一.安装1.安装yum install shorewall gamin-python shorewall-shell shorewall-perl shorewall-common python-in ...
- ASP教程:gb2312和utf-8乱码问题解决
文章为转载:https://www.xp.cn/b.php/31663.html 尊重作者版权 今天做网站的时候,客户要一个博客,于是就利用了本博客所用的程序pjblog.经常做网站的人都知道,在同一 ...
- springboot(11)使用SpringBoot validator进行数据验证
简介: 数据验证是作为一个企业级项目架构上设计的最基础的模块,前辈们曾说过:界面上传递到后台的数据没有百分之百值得相信的!为什么这么说呢?往往我们在编写程序的时候都会感觉后台的验证无关紧要,这样就会给 ...
- BZOJ 4245: [ONTAK2015]OR-XOR 贪心 + 位运算
Description 给定一个长度为n的序列a[1],a[2],...,a[n],请将它划分为m段连续的区间,设第i段的费用c[i]为该段内所有数字的异或和,则总费用为c[1] or c[2] or ...
- 【canvas学习笔记三】样式和颜色
上一节我们学习了如何用路径绘制各种形状,但我们只能用默认的颜色和线条.这节就来学习设置不同的颜色和线条样式. 颜色 设置颜色主要有两个属性: fillStyle = color 设置填充颜色 stro ...
- ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'ambari'
配置Ambari远程maridb 报错: ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'ambari' ...
- 【后台管理系统】—— Ant Design Pro 项目爬坑(一)
1.表单rule中可以分对象处理不同规则 <FormItem label="类型名称" {...formLayout}> { form.getFieldDecorato ...
- linux中 > 、>> 的用法
linux中>表示覆盖原文件内容(文件的日期也会自动更新),>>表示追加内容(会另起一行,文件的日期也会自动更新). 1 将history命令执行的结果保存到history.log文 ...