Sometimes you just can't explain how certain data gets in your database, or how it arrives at a certain state. Wouldn't it be nice to be able to track which user affected which data, and when they did it? SQL Server Profiler will certainly allow you to log all DML operations. In high-volume systems, of course, this is just not feasible — your data can change so often, that you would need more disk space for the audit trail, than for the data itself!
There are some 3rd party products out there that will allow you to track specific events on specific objects, rather than taking all events on all objects en masse:
ApexSQL Audit Lumigent Adit DB OmniAudit SQLLog Upscene SQL Log Manager And of course, if you are just interested in tracking a data change that took place in recent history, you can examine SQL Server's logs (see
Article #2449).
If you would prefer to design your own custom auditing system, see
Article #2448.