views:

37

answers:

2

I know SQL Server 2008 can do this, but essentially I need a way to log all the changes made to a database. I don't need to log selects, and I don't need to log the user, the only important data is what has been added or changed, both with regard to data and structural changes like columns, tables, and indices.

What are my options?

A: 

Event Notifications can be deployed to monitor all schema changes at the database and even entire isntance level.

Global gata changes is not possible to monitor. You can select specific tables to monitor and deploy a trigger based monitoring. There are also low-impact log bassed solutions, but not out-of-the-box, they all need third party tools.

Remus Rusanu
A little confused -- you link to event notifications for Exchange Server 2007?
Pete Michaud
Bummer, is fixed now
Remus Rusanu
+1  A: 

I've used AutoAudit quite a bit, you simply apply it to whatever tables you wish to audit.

Main drawback is that it requires a single column PK. But most of my tables have surrogate identity PKs, so it's fine for that design philosophy.

Cade Roux
Din't know about AutoAudit, looks quite neat
Remus Rusanu
It does have a few little bugs, but the discussion board covers it.
Cade Roux