Sql Server事务日志读取器

问题描述:

是否可以使用某种类型的流读取器对象打开sql服务器事务日志文件?Sql Server事务日志读取器

我已经尝试了C#的各种方式,但数据库似乎打开带有明确的锁的.ldf文件,即使我只想读数据库运行时不可能的文件。

当数据库关闭时打开文件并不是我要找的,我需要能够读取流中的事务日志。我有一个粗略的文件布局的草图,但现在我被卡住甚至可以连接。

任何人都知道任何配置选项或其他方法?

谢谢! -G

+1

你到底想要从事务日志中走出什么?你知道它存储(而不是以非常可读的方式)命令的* result *,而不是命令本身,对吗? – 2012-08-10 22:30:16

+0

是的,我明白什么是反式日志存储和它的目的。这正是我感兴趣的那些命令的结果。 – 2012-08-10 23:15:20

您可以使用fn_dblog函数详细读取日志内容,并在最低级别读取日志内容。它要求SQL Server在线并且数据库在线。

+0

同意,我正在寻找一种使用CDC-ish方法的读取器的一致方法。 – 2012-08-11 01:08:48

+0

有趣。而fn_dblog不提供所有必要的东西?它也可以提供原始日志记录。 – usr 2012-08-11 11:04:43

+0

我已经看过它,但是,我正在寻找一些不会侵入数据库引擎的侵入性较小的东西。阅读日志应该是影响最小的。 – 2012-08-14 19:52:15

使用ApexSQL Log API可以读取联机事务日志(LDF)和事务日志备份。您可以直接从.NET应用程序读取LDF文件。另外,还有一些在交易的阅读过程中没有锁登录

声明:我作为一个产品支持工程师在ApexSQL工作

+0

任何人都有其他选择?看起来该产品已停产。 – Wegged 2017-09-11 18:37:33

使用此命令:

Select * from ::fn_dblog(null,null) 

如需更多信息,请参阅本链接:How Do You Decode A Simple Entry in the Transaction Log