• You could also check out ApexSQL Log which has free lifetime upgrades.

    However I suggest you first look at things you need to do for the future to be proactive as opposed to reactive.

    1) Eleminate all DBAs except for 1 or 2 and setup a strict change management process but make sure you include a emergency change piece, audit then only needs to be occasional on DDL and as a way to verify the DBAs are following the guidelines.

    2) Setup triggers to snapshot the data before and after and log to the tables who requested the change and when modified. In addition deletes should not actually occurr on the tables but instead use a marker for delete which you set and place the requesting into a modified by column. Then a nightly,weekly or whanever process can remove the rows. Include host for further auditing.

    3) Move all users from having direct access to the tables to haveing view rights thru controlled views and control data changes thru Stored Procedures to maximize auditing code and limit potential tampering. Avoid Dynamic SQL completely unless you build in strict code for catching potential injection attacks. Log bad data actions with user and host.

    Then if you need to audit further a log reader will be best. One thing to keep in mind is that i application uses a generic login for users log will not tell you who the requester was. That has to be built by you.