SQL Server 事务日志读取器

4
有没有可能使用某种类型的流读取器对象打开SQL Server事务日志文件?
我曾经尝试过多种C#方式,但数据库似乎是通过显式锁定打开了.ldf文件,尽管我只想读取该文件,但在数据库运行时这是不可能的。
在数据库关闭时打开文件不是我要寻找的,我需要能够在流中读取事务日志。 我已经草拟了文件布局,但现在我甚至无法附加。
有人知道任何配置选项或其他方法吗?
谢谢! -G

1
你希望从事务日志中得到什么?你知道它存储的是命令的结果而不是命令本身,而且方式也不是很可读,对吧? - Aaron Bertrand
是的,我明白事务日志存储的内容及其目的。我对感兴趣的正是这些命令的结果。 - G D
3个回答

3
可以使用ApexSQL Log API读取在线事务日志(LDF)和事务日志备份。您可以直接从.NET应用程序中读取LDF文件。此外,在读取事务日志的过程中不会发生锁定。

声明:我在ApexSQL担任产品支持工程师


2
有没有其他选择?看起来那个产品已经停产了。 - Wegged

0

0

通过使用fn_dblog函数,您可以以极大的细节和最低级别读取日志内容。它需要SQL Server在线,数据库在线。


同意,我正在寻找一种使用读取器的一致方法来实现 CDC-ish 方法。 - G D
有趣。而且fn_dblog并不能提供所有必要的东西吗?它也可以提供原始日志记录。 - usr
我已经看过了,但是我正在寻找一些不太侵入性的东西,不会影响到数据库引擎。阅读日志应该是最小影响的选择。 - G D

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接