What mechanism does ApexSQL Trigger use to audit?
ApexSQL Trigger uses DML and/or DDL triggers
Will the trigger based auditing affect the performance of my application/database?
Unless triggers are applied to tables with very high transaction rates or are involved in large batch updates, generally there is little to no performance impact. But as each database and environment differs, it is a good idea to test the performance of the auditing plan you create to measure the impact directly
How is ApexSQL Trigger licensed?
ApexSQL Trigger is licensed per user. The user being the person, SQL DBA etc. who sets up and configures the auditing plan
Do I have to pay a licensing fee if I use generated triggers in a custom application I’m building?
No. The auditing architecture and generated triggers can be distributed on any system, royalty free
Is there a way to distribute audit reporting to my end users without giving them access to the full functionality of ApexSQL Trigger or buying additional licenses?
Yes. You can distribute the free windows based “Audit viewer” application to any end users, which contains only the reporting front end. You can also use the reporting stored procedures we provide to build a custom front end e.g. web based
Can I customize the trigger template?
Yes. ApexSQL Trigger is a template based trigger generation tool that enables users to easily make extensive modifications or even create their own template within a dedicated IDE, specifically designed for this purpose
Do you offer other approaches to auditing besides triggers?
Yes. We offer a SQL Server transaction log reader, ApexSQL Log, and a SQL trace, repository based auditing system, ApexSQL Audit
What database changes can be audited?
ApexSQL Trigger captures information on all DML operations (INSERT, UPDATE, and DELETE) and DDL operations (CREATE, ALTER, and DROP)
Where is the auditing information stored?
By default, information on the DML audited operations is stored in the tables named AUDIT_LOG_DATA and AUDIT_LOG_TRANSACTIONS, and the DDL audited operations is stored in the table named AUDIT_LOG_DDL, which are automatically created in the audited database. These tables can be moved to a different database on the same SQL Server instance. Learn more on how to do this
What permissions are required for installing and running the ApexSQL Trigger?
The Windows user account used to install and/or run the ApexSQL Trigger (and ApexSQL Trigger Viewer) must have Windows administrator permissions
What SQL server permissions are required to run ApexSQL Trigger on a database?
The ApexSQL Trigger user must be a member of the fixed SQL Server sysadmin role on the SQL Server instance where the audited database is hosted. Learn more about requirements and permissions here
Can I have my own triggers on the table that is being audited by ApexSQL Trigger?
Yes. Multiple triggers can exist on the same table
Can ApexSQL Trigger track changes in SQL Azure database?
Yes. SQL Azure databases are supported for auditing
Can ApexSQL Trigger track changes in tables without a primary key or a unique index?
Yes. If a primary key is not found, by default, all fields will be selected as a row key. If the fields contain unique values, the row key can be customized appropriately
In what order are the auditing triggers fired?
The auditing triggers are fired last in regard to user defined triggers
Will I have to re-create the triggers if I change the audited table schema?
Yes. Triggers on audited tables have to be re-created after schema changes
Are Windows logins captured?
Yes. Windows logins are captured if the change was made by a login that uses Windows authentication
What is the audit architecture and why do I need it?
The audit architecture file (.audx) is an XML file that contains all infrastructure required to set up database auditing
Are system tables changed during the auditing set up?
No. The system tables are not affected when auditing is installed
Can I manually delete all architecture objects?
Yes. To do so, execute the stored procedure named dbo.AUDIT_prc_DeleteArchitecture which is automatically created in the audited database
What are Watches?
Watches are fields that might not be affected by the data change but are selected to participate in the audit trail. This way, the field is watched when audited fields are changed and its value is added to the auditing report
Can I add more than one Watch field for a single audited field?
Yes. Audited field can have multiple Watches added
Can I associate a single Watch field to more than one audited field?
Yes. A single Watch filed can be associated with multiple fields
What are lookups?
Lookups are watches that pick up their value from a different table. They are used to show an easy to understand literal value instead of an ID
What is the difference between lookups and watches?
Lookup values are derived from a different table. Watches are columns from the same table that aren’t audited but participate in the audit trail
Can I add more than one condition to a Lookup?
Yes. Multiple conditions can be added to a Lookup