An introduction video to ApexSQL Log, a SQL Server transaction log viewer, by Ayman El-Ghazali

In the ApexSQL Log – Software Review video, Ayman El-Ghazali from TheSQLpro reviewed ApexSQL Log’s functionalities, features, options, and gave a basic use case. This use case can be used to get familiar with the ApexSQL Log’s interface and basic logic behind the program

“It took me about good twenty to thirty minutes to kind a play around with the software and get familiar with it, it’s not that complicated, it’s pretty straight forward which is great for any type of software”

The author states that ApexSQL Log reads the online transaction log and transaction log backups, which summarizes the tool in short. Besides reading the data sources, ApexSQL Log offers advanced filtering options, creating UNDO and REDO scripts, multiple export options, and more

The author creates a simple ApexSQLLogTest database and executes T-SQL code for a couple of INSERTs, three UPDATEs, one DELETE, and one ALTER TABLE statement. He used the following filters:

  • The Time filter with the Whole transaction log option. The Time filter defines a time frame that will be considered during the analysis of the data sources
  • The Operations filter with all DML and DDL operations included. The Operations filter can filter out/in specified DML/DDL operations, by default only DML operations will be displayed
  • All other filters settings were left default

For more information about filtering options in ApexSQL Log please refer to the Advanced filtering options in ApexSQL Log article

ApexSQL Log successfully shows all transactions made by executed T-SQL code. Every transaction shown has additional details: every INSERT shows inserted values, every UPDATE shows old and new values, every DELETE shows deleted values, etc.

Dialog in ApexSQL Log showing all transactions made by executed T-SQL code

ApexSQL Log dialog showing operational details for each SQL transaction

Later in the video, other ApexSQL Log functionalities are described. Results can be filtered also after the reading process, this operation doesn’t require restart of data sources reading. Besides displaying information in the grid, ApexSQL Log can script out the transactions into a file. There are options for creating an UNDO script only for the transactions selected in the main grid, and for all the transactions read by ApexSQL Log

Create Undo Script option - ApexSQL Log

The generated SQL script:

Dialog showing generated SQL script

The video also shows how ApexSQL Log can combine multiple data sources to create one logical stream of data to analyze and how you can add multiple data sources. After taking a couple of transaction log backups, a portion of the transaction log was marked as available for reuse and new data has overwritten the old. The ApexSQL Log’s data sources wizard scans all available data sources related to the specific database and provides an option for manual adding. As shown in the video, after creating multiple transaction log backups, Session settings didn’t automatically find newly created files because the session settings were referring only to the current session. In such scenarios, files can be added manually

The video also shows a bug regarding the Copy rows to clipboard option. It is not possible to paste the copied row. Our Developers are working on a fix, we will post a comment to the article and the video as soon as the fixed version is released. Another issue shown – where it isn’t possible to take a transaction log backup through SQL Server Management Studio when ApexSQL Log is running – is due to system design. The integrity of the results couldn’t be guaranteed if creating a transaction log backup is permitted

In the ApexSQL Log – Software Review blog post there is SQL code used in this video, you can use it for the testing purposes. Ayman El-Ghazali provided enough information and data for ApexSQL Log testing

February 11, 2014