当前位置: 首页 > news >正文

取证工作: SysTools SQL Log Analyzer, 完整的 SQL Server 日志取证分析

天津鸿萌科贸发展有限公司是 Systools 系列软件的授权代理商。

SysTools SQL Log Analyzer 是 Systools 取证工具系列之一,用于调查 SQL Server 事务日志,以对数据库篡改进行取证分析。

什么是 SQL Server 事务日志?

在深入研究 SQL 事务日志取证之前,让我们先看看 T-log 文件的真实情况。就像许多其他 RDBMS 一样,MS SQL Server 也遵循“预写日志记录”方法。这意味着所有事务在提交之前都写入日志文件,并保存对数据库所做的所有更改的记录。在 SQL 取证工作之前,用户需要知道,从逻辑上讲,事务日志被分类为几个较小的部分,称为 VLF 或虚拟日志文件。

每个 SQL 数据库都使用多个 VLF,每个 VLF 的最小大小必须为 512 KB。日志中虚拟文件的大小和数量会随着日志大小的变化而变化。当一个日志文件填充了事务详细信息时,事务将写入下一个可用文件。在这里,我们将仅对这些文件进行 SQL Server 取证。MDF(主数据库文件)不包括在这里。

基本上,日志文件以循环形式表示,因此,如果一个文件达到其最大限制,则它从起点重新开始。SQL Server 使用截断过程来标记文件末尾或日志文件的任何未使用部分,以便可以使用它来存储信息。如果知道正确的技术,用户不难执行 SQL 事务日志取证。

  • 支持事务复制:日志读取器代理非常仔细地监视数据库事务日志,以便进行事务复制。
  • 恢复到故障点:数据库可以恢复到确切的故障点,它恢复了数据库的完整备份和数据库的差异备份。
  • 恢复单个交易:在数据库引擎发生故障的情况下,日志记录有助于回滚在未完成事务期间完成的单个事务和修改。
  • 恢复未完成的事务:由于 SQL Server 中的故障,某些事务未完成。因此,当 SQL Server 启动时,可以回滚这些事务和修改。这样做是为了确保数据库的完整性。
  • 数据库镜像和日志传送:在日志传送中,主数据库的活动日志文件由主服务器发送到多个位置。在数据库镜像中,主体服务器用于将所有记录立即发送到镜像服务器。

取证分析工作原理 SQL Server 中的日志

每当 SQL Server 被告知在结构化查询语言语法编写的查询的帮助下执行某些操作时,SQL Server 的内部查询优化器都会检查查询、执行查询并从磁盘中检索所需的信息。在检索查询的情况下,数据库将通过网络流式传输到请求客户端。但是,使用修改查询,它会修改内存中的数据页。用户必须注意这一点,以便仔细执行 SQL Server 取证。

它不会将这些修改直接写入磁盘。因此,SQL Server 的作用是将逻辑事务条目写入文件扩展名为 .ldf 的事务日志文件中,所有事务记录都将在其中执行。 最终,几秒钟后,SQL Server 决定将修改后的页面写出到磁盘。执行此操作时,它会导航回事务日志并“检查”事务,该事务进行了修改。

这意味着更改已完成并已写入磁盘。因此,在执行 SQL Server 恢复时,它会直接进入事务日志搜索未完成的事务或尚未取消的事务. SQL Server 会从日志中读取这些事务,然后重新执行它们并快速将受影响的数据库页写入磁盘。在 SQL 事务日志取证中,这是需要了解的一个关键方面。

分析 SQL 日志文件的默认位置

打开 SQL Server Management Studio,然后右键单击数据库。选择“属性”

在新提示的窗口中,单击“文件”菜单,它将显示数据库文件的保存位置以及保存的名称。

事务日志的手动取证调查:使用 fn_dblog() 函数

fn_dblog() 函数也称为 DBCC 命令,是 MS SQL Server 的各种未记录函数之一。它可以查看当前数据库的事务日志文件的活动部分中的事务日志记录。fn_dblog() 需要传递以下参数:

  • 起始日志序列号 (LSN)。用户指定 NULL时,将返回从日志开头开始的所有内容。
  • 结束日志序列号。用户指定 NULL时,将返回直到日志末尾的所有内容。

fn_dblog() 相当简单,下面是使用此函数从事务日志中获取信息的方法:

SELECT * FROM fn_dblog(NULL, NULL)

现在,fn_dblog 将返回所有交易详细信息,选择要分析的交易。事务结果包括当前 LSN、已执行操作、事务 ID、父事务 ID、时间、事务名称和事务 SID。

事务日志的自动化取证调查:SQL Log Analyzer Tool

SQL Log Analyzer Tool 是一款专业且功能强大的实用程序,用于以安全的方式读取和分析 SQL 日志文件的事务。它对 SQL 日志文件事务进行取证分析并执行 LDF 文件恢复。

此外,该工具还显示 LDF 文件中执行的所有活动的预览,以及交易名称,登录名,时间,表名和查询。有了这个,人们可以阅读和分析所有事务,如插入、删除、更新等。该软件支持 Datetime2、datetimeoffset、sql_varient、geometry 和 geography 数据类型。

它能够快速扫描、查看 LDF 文件并自动定位关联的 Master 数据库文件。该工具允许从 Live 数据库中获取和显示记录。如果数据库处于简单恢复模式,则用户可以恢复已删除的记录。该工具最好的方面是它可以在联机和离线 SQL 数据库环境中运行,并支持 SQL Server
2017/2016/2014/2012/2008/2005 的 .ldf 文件。简而言之,它可以非常轻松地处理 SQL Server 取证任务。

使用 SysTools SQL Log Analyzer 取证分析 SQL Server 事务日志的步骤

1. 启动 SysTools SQL Log Analyzer 工具,然后单击“打开”以添加 .ldf 文件。

2.该工具提供了两个选项来添加文件:在线数据库选项和离线数据库选项。如果选择了在线数据库选项,则可以通过单击下拉列表来选择服务器名称。选择身份验证模式。点击下拉箭头选择数据库,然后单击“确定”。

3.软件将开始扫描 LDF 文件,扫描成功完成后将弹出向导。点击 OK 按钮。

4.工具显示交易预览。选择所需的表以预览和分析相应的操作日志条目。它根据登录名、时间、表名和事务名对交易进行排序。单击“导出”按钮。

5.您可以应用导出过滤器、日期过滤器以导出特定日期范围的交易记录。可以选择将数据库导出为 SQL 数据库或 csv。单击“导出”以保存记录。

结论

以上我们学习了 SQL 事务日志取证策略。该文章包含了如何对 SQL Server 事务日志进行取证调查的完整信息,包括其位置和工作过程。其中介绍了两种不同的方法来检查 SQL Server 事务日志的详细信息。

fn_dblog 功能有助于检测所有已执行的交易。但是,手动方法相对复杂、冗长且耗时,SysTools SQL Log Analyzer 专业解决方案则是获得足够结果的最安全的解决方案之一。

相关文章:

取证工作: SysTools SQL Log Analyzer, 完整的 SQL Server 日志取证分析

天津鸿萌科贸发展有限公司是 Systools 系列软件的授权代理商。 SysTools SQL Log Analyzer 是 Systools 取证工具系列之一,用于调查 SQL Server 事务日志,以对数据库篡改进行取证分析。 什么是 SQL Server 事务日志? 在深入研究 SQL 事务日…...

蓝牙耳机怎么连接电脑?轻松实现无线连接

蓝牙耳机已经成为许多人生活中不可或缺的一部分,不仅可以方便地连接手机,还能轻松连接电脑,让我们在工作和娱乐时享受无线的自由。然而,对于一些用户来说,将蓝牙耳机与电脑连接可能会遇到一些问题。本文将介绍蓝牙耳机…...

4.音视频 AAC SSAASS

目录 AAC 1.什么是ADIF和ADTS? 2.ADTS的数据结构是怎样的? SSA/ASS 1.SSA/ASS的基本结构 AAC AAC(Advanced Audio Coding,高级音频编码)是一种声音数据的文件压缩格式。AAC分为ADIF和ADTS两种文件格式。 1.什么是ADIF和ADTS&#xff…...

每日5题Day24 - LeetCode 116 - 120

每一步向前都是向自己的梦想更近一步,坚持不懈,勇往直前! 第一题:116. 填充每个节点的下一个右侧节点指针 - 力扣(LeetCode) /* // Definition for a Node. class Node {public int val;public Node left;…...

在笔记本电脑上使用 LLMs 的 5 种方法

在网上使用 ChatGPT 很简单,只需有网络连接和好的浏览器即可。但这样做可能会泄露您的隐私和数据。OpenAI 存储了您的提示和其他元数据以重新训练模型。对于一些人来说可能不成问题,但注重隐私的人可能更愿意在本地使用这些模型,不受外部跟踪…...

Linux内存从0到1学习笔记(8.15 MMU/IOMMU/SMMU概览)

一, 什么是MMU? MMU(Memory Management Unit 内存管理单元),即内存管理单元,是计算机硬件中的一个重要组件,主要负责处理中央处理器(CPU)的内存访问请求。 其工作原理如下: 当程序发出内存访问请求,包括读取或写入操作以及逻辑地址(虚拟地址)。然后,MMU根据页表…...

Intellij IDEA中怎么配置Maven?

在IntelliJ IDEA中配置Maven非常简单,以下是详细步骤: 步骤1:安装Maven 首先确保你的计算机上已经安装了Maven。如果没有安装,你可以从Apache Maven官网下载并安装:https://maven.apache.org/download.cgi 步骤2&am…...

操作系统-内存管理

虚拟内存 操作系统会提供⼀种机制,将不同进程的虚拟地址和不同内存的物理地址映射起来。 两个概念: 程序所使⽤的内存地址叫做虚拟内存地址(Virtual Memory Address)实际存在硬件⾥⾯的空间地址叫物理内存地址(Physi…...

C++中的解释器模式

目录 解释器模式(Interpreter Pattern) 实际应用 算术表达式解释器 布尔表达式解释器 总结 解释器模式(Interpreter Pattern) 解释器模式是一种行为设计模式,它定义了一种语言的文法表示,并使用解释器…...

用 C 语言实现求补码的运算

缘起 前两天程序中需要求一堆参数的补码,一时犯懒,想从CSDN上搜一个勉强能用的代码借鉴一下,结果几乎没有搜到一个靠谱的!这种求补码的操作,用脚趾头想想也应该知道要用C或者C的位运算来实现呀。结果搜到的一些实现方…...

python下载文件

import urllib.request url "http://****/storage/x4MigEhU6BGAuTqjrRfIBky0S2aMmkyGl4UzTqUb.png"#下载地址 path "ddad.png"#保存路径,保存项目路径 urllib.request.urlretrieve(url, path)...

JMU 数科 数据库与数据仓库期末总结(1)

本章根据老师给出的知识点作进一步相对生动一点的解释。 不保证完全正确。 先给出总的知识点,再给出生动解释。 知识点 数据模型通常由三部分组成:数据结构、数据操作和完整性约束。关系模式中主码的取值必须唯一且非空,这是实体完整性的…...

前端问题整理

Vue vue mvvm(Model-View-ViewModel)架构模式原理 Model 是数据层,即 vue 实例中的数据View 是视图层, 即 domViewModel,即连接Model和Vue的中间层,Vue实例就是ViewModelViewModel 负责将 Model 的变化反映…...

【实践功能记录6】表格列悬浮展示tooltip信息

需求描述&#xff1a; 鼠标悬浮在表格的IP字段上时&#xff0c;使用tooltip展示IP信息&#xff0c;如图&#xff1a; 1.封装根据IP展示信息的组件 请求接口获取IP信息&#xff0c;注意请求接口时防抖 <!-- 根据IP展示资产信息 --> <template><div><el-…...

AI论文速读 | 2024[SIGIR]基于大语言模型的下一个兴趣点推荐

论文标题&#xff1a;Large Language Models for Next Point-of-Interest Recommendation 作者&#xff1a;Peibo Li ; Maarten de Rijke ; Hao Xue &#xff08;薛昊&#xff09;; Shuang Ao ; Yang Song ; Flora D. Salim 机构&#xff1a;新南威尔士大学(UNSW)&#xff0c…...

Rust 实战丨通过实现 json! 掌握声明宏

在 Rust 编程语言中&#xff0c;宏是一种强大的工具&#xff0c;可以用于在编译时生成代码。json! 是一个在 Rust 中广泛使用的宏&#xff0c;它允许我们在 Rust 代码中方便地创建 JSON 数据。 声明宏&#xff08;declarative macros&#xff09;是 Rust 中的一种宏&#xff0…...

vue+elementUI实现在表格中添加输入框并校验的功能

背景&#xff1a; vue2elmui 需求&#xff1a; 需要在一个table中添加若干个输入框&#xff0c;并且在提交时需要添加校验 思路&#xff1a; 当需要校验的时候可以考虑添加form表单来触发校验&#xff0c;因此需要在table外面套一层form表单&#xff0c;表单的属性就是ref…...

为国产加油:“缺芯少屏”暂缓,另一领域,也要加把劲

说起咱中国之前的“缺芯少屏”&#xff0c;真的是让人挺闹心的。 不过呢&#xff0c;为了改变这个状况&#xff0c;咱们的工程师们可是费了不少劲儿&#xff0c;辛辛苦苦努力了数十年。现在好了&#xff0c;咱们也迎来了柔性屏的时代。 柔性屏 说起来&#xff0c;在触摸屏或者…...

【Qnx】Qnx coredump解析

Qnx coredump解析 coredump文件 Qnx运行的程序崩溃时&#xff0c;会生成coredump文件。 默认情况下这些文件默认会保存在/var/log/*.core 文件中。 解析coredump文件&#xff0c;可以帮忙加快分析程序崩溃的原因&#xff0c;比如了解崩溃的堆栈。 通常可以使用gdb和coreinfo…...

超级签名源码/超级签/ios分发/签名端本地linux服务器完成签名

该系统完全在linux下运行&#xff0c;不存在使用第三方收费工具&#xff0c;市面上很多系统都是使用的是第三方收费系统&#xff0c;例如&#xff1a;某心签名工具&#xff0c;某测侠等&#xff0c;不开源而且需要每年交费&#xff0c;这种系统只是在这些工具的基础上套了一层壳…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

Go语言多线程问题

打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...

论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving

地址&#xff1a;LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂&#xff0c;正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...

comfyui 工作流中 图生视频 如何增加视频的长度到5秒

comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗&#xff1f; 在ComfyUI中实现图生视频并延长到5秒&#xff0c;需要结合多个扩展和技巧。以下是完整解决方案&#xff1a; 核心工作流配置&#xff08;24fps下5秒120帧&#xff09; #mermaid-svg-yP…...

jdbc查询mysql数据库时,出现id顺序错误的情况

我在repository中的查询语句如下所示&#xff0c;即传入一个List<intager>的数据&#xff0c;返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致&#xff0c;会导致返回的id是从小到大排列的&#xff0c;但我不希望这样。 Query("SELECT NEW com…...