2011-09-11 99 views
0

SQL Serverのトランザクションログについて議論したいと思いますが、掘り出し物のログエクスプローラなどいくつかの製品が見つかりました。しかし、私はまだそれに興味があります。 1.Readを直接データベースコマンド/クエリを2.Using物理ログファイル 、DBCC LOGからかfn_dblogSQL Serverのトランザクションログを読み取る方法

問題/困難を通して:私は知ら

方法 1.Logファイル構造が設計を逆転するのは難しいです。 2.多くのINSERTを実行すると、fn_dblogにすべてが含まれていませんでした。たとえば、INSERT 50000レコードの場合、fn_dblogには29616個のLOP_INSERT_ROWSレコードがあります。つまり、20384個のレコードが切り捨てられます。 fn_dblogに関する内部論理、誰かがそれを説明することはできますか?fn_dblogには制限がありますか?

SQL Serverのトランザクションログに関するいくつかの研究を聞いてうれしいです。

+1

で製品サポートエンジニアとしてされた仕事します1つのステートメントに50,000行を挿入したり、50,000個の別個のステートメントを挿入することができます。別々の場合、それはまだすべて1つのトランザクションにありますか?また、あなたのデータベースはどのような復旧モデルであり、これまでバックアップされていますか? (つまり、あなたのログが現時点で自動切り捨てモードになっている可能性があります) –

+0

fn_dblog()は文書化されていない関数であり、この関数の使用方法が長すぎます。また、関数は情報を人間が判読可能な形式で表示しません。 SysTools SQL Log Analyzerのようなサードパーティのツールを使用する方が良いです。http://www.systoolsgroup.com/sql-log-analyzer.html –

答えて

1

SQL Serverのトランザクションログがではありませんが、「人間が読める」ことをを意味しました。

SUGGESTION: (トランザクションログの仕組みを含めて)本当にSQL Serverの内部を理解したい場合は、SQL Serverをサポートしていることを強くお勧めします。この本:

SQL Server 2008 Internals, Kalen Delaney

それは素晴らしい本です。あなたは実用的で重要な情報をたくさん学びます。満足保証!

+0

確かに、私はこの本の一部を読んだことがありますが、isnファイルの構造を理解するのに役立ちます。 – BlackThought

3

paulsm4は既に指摘されているように、トランザクションログは人間が読めるものではありませんが、サードパーティのツールを使用して読むことができます。本当にこの中に専門に

のみツールはApexSQL Logですが、あなたはまた、Quest Toad

6

は、LDFファイルを開くにはさまざまな方法があり、そしてそれらのほとんどはちょうどそれを試すことができます - それを開きます。ユーザーが読むことができる情報を入手して使用するのは難しいです。

ApexSQL Logは、オンライントランザクションログ、切り離されたトランザクションログ、トランザクションログバックアップ(ネイティブおよびネイティブ圧縮の両方)を読み込むSQL Serverトランザクションログリーダーです。 LDFビューアとしては、業務上(DMLおよびDDL、合計で45の両方)、そしてどのようなこれらの操作の実行によって変更された焦点を当てています:Open LDF file and view LDF file content

免責事項:私はApexSQL

関連する問題