sql-servertrackingchange-management

Tracking changes in a SQL server 2005 database


I have been tasked with developing a solution that tracks changes to a database.

For updates I need to capture:

For deletes:

For inserts:

I've thought of a few ways to do this:

I am using asp.net, C#, sql server 2005, iis6, windows 2003. I have no budget so sadly I can't buy anything to help me with this.

Thanks for your answers!


Solution

  • A trigger wouldn't have all the information you need for a bunch of reasons - but no user id is the clincher.

    I'd say you're on the right track with a common sp to insert wherever a change is made. If you're standardizing on sp's for your interfaces then you're ahead of the game - it will be hard to sneak in a change that isn't tracked.

    Look at this as the equivalent of an audit trail in an accounting application - this is the Journal - a single table with every transaction recorded. They wouldn't implement separate journals for deposits, withdrawals, adjustments, etc. and this is the same principle.