One simple method I\'ve used in the past is basically just creating a second table whose structure mirrors the one I want to audit, and then create an update/delete trigger
I use the approach described by Greg in his answer and populate the audit table with a stored procedure called from the table triggers.