如何阅读SQL Server事务日志

时间:2017-08-04 10:19:14

标签: sql-server windows transactions

有没有办法在没有第三方工具的情况下读取事务日志。如果是,请建议编程语言执行此操作以从事务日志中获取表或文件中的所有数据更改。因为我使用的是SQL Server 2012标准版我无法为此目的启用 CDC

请建议

2 个答案:

答案 0 :(得分:0)

使用fn_dblog

select [Current LSN],
       [Operation],
       [Transaction Name],
       [Transaction ID],
       [Transaction SID],
       [SPID],
       [Begin Time]
FROM   fn_dblog(null,null)

要提取数据,这里有信息(需要很多代码): https://raresql.com/2011/10/22/how-to-recover-deleted-data-from-sql-sever/

编辑:正如评论中所指出的,链接只有删除代码(LOP_DELETE_ROWS上的文件管理器。要添加插入和更新编辑,如下所示 - 您需要修改如下的Operation子句:

 SELECT *
 FROM sys.fn_dblog(NULL,NULL)
 WHERE Operation IN ('LOP_DELETE_ROWS', 'LOP_INSERT_ROWS','LOP_MODIFY_ROW') 

请告诉我们您的结果!

答案 1 :(得分:0)

尝试一下

grpc.ClientReadableStream<EventPayload>