For the best web experience, please use IE11+, Chrome, Firefox, or Safari


Important notice

ApexSQL Log cannot read the following from the transaction log:

  • Encrypted data

If you are unsure whether a particular feature of SQL Server is supported, please contact

Server-side components

No. ApexSQL Log does not install anything on the SQL Server itself. Only windows service that allows remote reading of online transaction log files is installed on the system. For more information on the topic, please read this article

Yes. You can audit your databases on the ‘bridge’ (test) server where ApexSQL Log application can be installed, and the database and transaction log files copied/transferred to. For more information on how to achieve this, please read this article


No. ApexSQL Log reads and analyzes the information stored in the online transaction log, native or compressed transaction log backups and detached log files

No. ApexSQL Log has no performance overhead during audit trail capture. The application simply reads the transaction logs to gather audit data. This allows auditing to be performed during low load times or even be offloaded to another server

No. ApexSQL Log cannot audit SELECT statements as these are not logged in database transaction logs. You can use ApexSQL Audit to audit SELECT statements

Yes. You can view and roll back changes caused by ALTER/CREATE/DROP database objects and GRANT/REVOKE permissions statements

Yes, ApexSQL Log fully supports reading and analysis of transaction logs and databases on SQL Server Express

No. ApexSQL Log can successfully read only SQL Server native transaction log backups. The transaction log backups created or compressed by a third party tool, even when uncompressed/converted back to native using the same tool, don’t provide sufficient info for successful auditing and/or data recovery

Licensing and evaluation

ApexSQL Log is licensed per SQL Server instance. The ApexSQL Log client application can be installed on the unlimited number of machines, as long as it connects to the licensed SQL Server instance
In a cluster environment, each SQL Server instance on active node requires a license. In the active-passive cluster configuration, the license is required for SQL Server instances on the active node only. When the passive node becomes active and the active node becomes passive, the activation of SQL Server instances on the node that's active now is required, but the same license can be used

The ApexSQL Log evaluation version can be installed on any number of server instances and users are not restricted to use with only predetermined databases. However, the evaluation version has some important limitations:

  • All operations are audited to grid but row details are available for every 10th operation only
  • Generation of UNDO/REDO and export scripts is limited to every 10th operation
  • Exporting results is disabled in grid

Each SQL Server instance on active nodes requires a license. Instances on the passive nodes don’t require licensing

Transaction log auditing

Yes, if the Windows login is used as an authentication method for logging onto a SQL Server instance. By default, ApexSQL Log monitors the SQL Server defined users

No. Not mapped remote directories can be accessed without mapping if appropriate access is granted by the server

Yes. This can be done using the command line interface

No. If a web application uses only one account to connect to SQL Server, ApexSQL Log will show only that account. This issue must be addressed from within web applications by altering how they login

Yes. ApexSQL Log needs the database to be online in order to retrieve necessary information

No. When a value that's part of a clustered index is updated, the SQL Server records that change in the transaction log as a DELETE/INSERT pair

No. ApexSQL Log doesn't support auditing of changes produced by WRITETEXT, UPDATETEXT, and UPDATE operations affecting only BLOB data stored in obsolete BLOB types (NTEXT, TEXT, and IMAGE)

Software configuration

It depends on whether the ApexSQL Log client is running on the active node or if it is running outside of the cluster.

  • If ApexSQL Log client is running on the active node you will have to have the same configuration (e.g. batch files for command line interface) on each node in the cluster. When the failover happens, log auditing on the new active node will need to be started manually
  • If ApexSQL Log client is running outside of the cluster, ApexSQL Log auditing will be automatically redirected by the cluster itself to the active node (same as all other applications running outside of the cluster)