2012-08-10 221 views
3

是否可以使用某種類型的流讀取器對象打開sql服務器事務日誌文件?Sql Server事務日誌讀取器

我已經嘗試了C#的各種方式,但數據庫似乎打開帶有明確的鎖的.ldf文件,即使我只想讀數據庫運行時不可能的文件。

當數據庫關閉時打開文件並不是我要找的,我需要能夠讀取流中的事務日誌。我有一個粗略的文件佈局的草圖,但現在我被卡住甚至可以連接。

任何人都知道任何配置選項或其他方法?

謝謝! -G

+1

你到底想要從事務日誌中走出什麼?你知道它存儲(而不是以非常可讀的方式)命令的* result *,而不是命令本身,對嗎? – 2012-08-10 22:30:16

+0

是的,我明白什麼是反式日誌存儲和它的目的。這正是我感興趣的那些命令的結果。 – 2012-08-10 23:15:20

回答

0

您可以使用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

2

使用ApexSQL Log API可以讀取聯機事務日誌(LDF)和事務日誌備份。您可以直接從.NET應用程序讀取LDF文件。另外,還有一些在交易的閱讀過程中沒有鎖登錄

聲明:我作爲一個產品支持工程師在ApexSQL工作

+0

任何人都有其他選擇?看起來該產品已停產。 – Wegged 2017-09-11 18:37:33