|
ApexSQL Knowledgebase Tips and How-to Articles for Apex SQL Tools How To Choose between ApexSQL Audit and ApexSQL Log DESCRIPTION ApexSQL has two auditing tools--ApexSQL Log and ApexSQL Audit. How do you know which one is for you? There is certainly a tradeoff when using one over the other. This article is an overview on how to choose between the two. SOLUTION ApexSQL Audit is trigger-based auditing tool. It helps users create audit triggers that react to DML operations and then store details of the operation into one or more auditing tables. PROS - You get total control over what tables you want to audit and what operations. - Audit data is stored in SQL Server tables and can therefore be manipulated like any other SQL Server table; audit history is immediately available. - You can write your own reporting system based on the audit data stored in SQL Server tables. - We specially prevented auditing of system databases to avoid database crashes if something goes wrong (system tables locking, etc.) - As a rule, DBAs always have full access to the data. Therefore, they can change data in the Audit tables or even truncate them. - ApexSQL Audit has a separate reporting tool called ApexSQL Audit Viewer which can be purchased separately. ApexSQL Audit Viewer is a standalone reporting application for ApexSQL Audit. It can be distributed to team members and end-users who only need to view auditing reports and don't need access to the administrative features of ApexSQL Audit. CONS - It can possibly cause performance degradation--as is the nature of all TRIGGERS. ApexSQL Log on the otherhand is transaction log-based, that is, it reads the transaction log to get audit data. PROS - If you are already working in FULL RECOVERY mode, then there is no downside on the space/performance. - You can move transaction logs to another server and audit there - Comes with a Data Recovery tool; better UNDO/recovery and is essentially maintenance free. - You can schedule ApexSQL Log to read the transaction log on a schedule. Auditing doesn't happen right after the operation being audited happens giving you the option to do your auditing during offline hours. (Note: The only data that has to be captured in real time is additional login information--NT user name, application name and client host name--since this is not in the transaction log. This information is captured by ApexSQL Log's Connection Monitor after a new login is made. It has minimal overhead.) CONS - To use ApexSQL Log's auditing feature, your database should be in FULL RECOVERY mode. If you don't plan your maintenance right, your drives can get filled with transaction logs and this can have an impact on the performance. In the long run, there is a chance of running out of disk space. Switching to FULL RECOVERY is not a simple turn on/off thing. Once you switch to FULL RECOVERY, transaction log starts to grow so you have to prepare beforehand how to deal with that. - Update operations Both tools allow you to generate reports in various formats. SEE ALSO How to Synchronize a Database on a Schedule AUTHOR Janice Lee LAST REVIEW DATE 03 December 2007 Labels: Apex SQL Audit, ApexSQL Log |
© 2008 Apex SQL Tools All Rights Reserved | 1.919.968.8444 | Contact Us | Terms of Use
