Read the log file (*.LDF) in SQL Server 20

2019-01-14 19:19发布

问题:

I'm searching for a way to read the SQL Server 2008 log file, not to show the information, but to read the meaning of the symbols and the structure of the LOG table. I'm using DBCC LOG('my_table', 3).

回答1:

See my answer in this Stack Overflow post: How can I view SQL Server 2005 Transaction log file

Or

Use this command:

Select * from ::fn_dblog(null,null)

And for more information, see How Do You Decode A Simple Entry in the Transaction Log.



回答2:

First of all, in order to be able to read any meaningful data your database needs to be in full recovery mode. Otherwise you probably won't find much there. There are two ways to do this. Using undocumented SQL functions and using third-party tools.

SQL Functions:

DBCC LOG and fn_dblog - more details here and here

Third-party tools:

Toad for SQL Server (actually does a lot more than reading logs) and ApexSQL Log (focuses only on reading transaction logs).



回答3:

From your comments, if you want to see the queries users issue:

Start a trace or use extended events to capture the sql text. See How to: Create a Trace (SQL Server Profiler).