取证工作: 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 专业解决方案则是获得足够结果的最安全的解决方案之一。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/27427.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

失眠焦虑?这些小妙招助你重拾宁静之夜

在这个快节奏的时代,失眠与焦虑似乎成了不少人的“常客”。每当夜幕降临,躺在床上却辗转反侧,思绪万千,仿佛整个世界的喧嚣都涌入了脑海。💭 其实,放松心情,调整心态,是缓解失眠焦虑…

Java | Leetcode Java题解之第151题反转字符串中的单词

题目: 题解: class Solution {public String reverseWords(String s) {StringBuilder sb trimSpaces(s);// 翻转字符串reverse(sb, 0, sb.length() - 1);// 翻转每个单词reverseEachWord(sb);return sb.toString();}public StringBuilder trimSpaces(S…

flask基础知识1

目录 1.介绍 2.体验一下 3.配置参数: 4.路由和URL 1.路由 2.动态路由: 自定义转换器: 3.使用自定义转换器 5.url_for函数 6.request参数 7.处理响应: 1.重定向: 2.返回json数据: 3.返回模板&…

el-table 多选回显,分页回显

实现el-table多选分页回显功能&#xff0c;左侧是分页的数据源&#xff0c;右侧是选择后的人员数据&#xff0c;切换下一页&#xff0c;选中的数据会在左侧表格回显。 实现&#xff1a; <template><el-dialog :title"title" :visible.sync"show"…

java:spring使用【@ImportResource】导入一个xml里面定义的bean

# 项目代码资源&#xff1a; 可能还在审核中&#xff0c;请等待。。。 https://download.csdn.net/download/chenhz2284/89434148 # 项目代码 【pom.xml】 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-start…

长亭培训加复习安全产品类别

下面这个很重要参加hw时要问你用的安全产品就有这个 检测类型产品 偏审计 安全防御类型 EDR类似于杀毒软件 安全评估 任何东西都要经过这个机械勘察才能上线 安全管理平台 比较杂 比较集成 审计 漏扫 评估 合在这一个平台 也有可能只是管理 主机理解为一个电脑 安了终端插件…

Vue39-组件的嵌套

一、嵌套的定义 二、嵌套示例 school组件中&#xff0c;嵌套student组件 局部注册&#xff0c;注册给谁&#xff0c;就在谁的结构里面写&#xff01; vue拿不到<student>组件标签&#xff01;&#xff01;&#xff01; 三、一人之下万人之上的app组件 或者容器里面不用…

6.14作业

使用手动连接&#xff0c;将登录框中的取消按钮使用第二中连接方式&#xff0c;右击转到槽&#xff0c;在该槽函数中&#xff0c;调用关闭函数 将登录按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admin"&#xff0…

探索Napier:Kotlin Multiplatform的日志记录库

探索Napier&#xff1a;Kotlin Multiplatform的日志记录库 在现代软件开发中&#xff0c;日志记录是不可或缺的部分&#xff0c;它帮助开发者追踪应用的行为和调试问题。对于Kotlin Multiplatform项目而言&#xff0c;能够在多个平台上统一日志记录的方法显得尤为重要。Napier…

WordPress实时搜索插件Ajax Search Lite,轻松替代默认搜索功能

WordPress自带的默认搜索功能是跳转到搜索结果页&#xff0c;如果你想要实时搜索功能&#xff0c;特别是在问答中心显示搜索功能&#xff0c;那么建议使用这个WordPress实时搜索插件Ajax Search Lite&#xff0c;它可以在文章、页面、自定义类型文章中搜索标题、内容、摘要、自…

XP系统安装Node.js v8.6.0并搭建Vue2开发环境(项目兼容到Vista的IE9浏览器)

下载并安装Node.js v8.6.0 通常我们开发Vue2项目&#xff0c;是通过vue create命令建立Vue2工程&#xff0c;用npm run serve命令启动Vue2网站的。 vue命令是用JavaScript写的&#xff0c;不是用C语言写的&#xff0c;必须要Node.js环境才能运行&#xff0c;由Node.js自带的np…

【Redis】String的常用命令及图解String使用场景

本文将详细介绍 Redis String 类型的常见命令及其使用场景&#xff0c;包括缓存、计数器、共享会话、手机验证码、分布式锁等场景&#xff0c;并且配图和伪代码进一步方便理解和使用。 命令执行效果时间复杂度set key value [key value…]设置key的值是valueO(k),k是键个数get…

『大模型笔记』主成分分析(PCA)解释:简化机器学习中的复杂数据!

主成分分析(PCA)解释:简化机器学习中的复杂数据 文章目录 一. 主成分分析(PCA)解释:简化机器学习中的复杂数据!二. 参考文献一. 主成分分析(PCA)解释:简化机器学习中的复杂数据! 主成分分析(Principal Component Analysis,简称PCA)通过 将大型数据集中的维度减少…

C#开发-集合使用和技巧(二)Lambda 表达式介绍和应用

C#开发-集合使用和技巧 Lambda 表达式介绍和应用 C#开发-集合使用和技巧介绍简单的示例&#xff1a;集合查询示例&#xff1a; 1. 基本语法从主体语句上区分&#xff1a;1. 主体为单一表达式2. 主体是代码块&#xff08;多个表达式语句&#xff09; 从参数上区分1. 带输入参数的…

【数据结构初阶】 --- 单链表

关于链表你应该先了解这些 下图描述了物理模型和逻辑模型&#xff0c;大多数常见的其实是逻辑模型&#xff0c;但这对初学者或者掌握不扎实的同学不太友好&#xff0c;所以这里我重点讲解物理模型&#xff0c;当了解了这些细节&#xff0c;以后做题或是什么就直接画逻辑模型就…

Java优雅统计耗时【工具类】

任务耗时如何优雅的打印&#xff0c;看完本文你就明白了&#xff01;~ import cn.hutool.core.date.StopWatch; import cn.hutool.core.lang.Console;/*** 优雅打印出任务耗时*/ public class Main {public static void main(String[] args) throws Exception{StopWatch stopW…

macOS Sequoia 开发者测试版下载和安装教程

macOS Sequoia 于 2024年6月10日在WWDC 2024 上发布&#xff0c;里面添加了AI、窗口排列、操控iPhone等功能&#xff0c;目前发布的为测试版本&#xff0c;可能很多人不知道怎么去下载安装&#xff0c;现在小编教一下大家怎么安装最新的 macOS Sequoia 开发者测试版。 下载 mac…

2024 年最新使用 Node 搭建QQ开放平台官方 QQ 频道机器人详细教程(更新中)

注册 QQ 开放平台账号 QQ 开放平台是腾讯应用综合开放类平台&#xff0c;包含 QQ 机器人、QQ 小程序、QQ 小游戏 等集成化管理&#xff0c;也就是说你注册了QQ 开放平台&#xff0c;你开发 QQ 机器人还是 QQ 小程序都是在这个平台进行部署上线和管理。 如何注册 QQ 开放平台账…

JAVAEE值之网络原理(1)_用户数据报协议(UDP)、概念、特点、结构、代码实例

前言 在前两节中我们介绍了UDP数据报套接字编程&#xff0c;但是并没有对UDP进行详细介绍&#xff0c;本节中我们将会详细介绍传输层中的UDP协议。 一、什么是UDP&#xff1f; UDP工作在传输层&#xff0c;用于程序之间传输数据的。数据一般包含&#xff1a;文件类型&#xff0…

超图制作栅格数据集专题图示例

之前写过一两篇专题图的博文&#xff0c;是制作的矢量数据集的专题图&#xff1b; 有一个栅格数据集如下&#xff0c;不知是干嘛的&#xff0c;可能是一个地形&#xff0c;或水系&#xff1b; 看一下对栅格数据集制作专题图&#xff1b;能制作的专题图类型少些&#xff0c; 先…