For DDL changes you DDL Triggers, But DML Changes you can try using 3 different options
- Change tracking
- CDC(Change data Capture)
- Audit Feature
For Change tracking.. you can see the below link http://www.mssqltips.com/sqlservertip/1819/using-change-tracking-in-sql-server-2008/
this change tracking will be only used wheather the table has changed or not...but it is very difficult to find what data has changed.. if you want to find what data has changed then you can go Chnage data Capture.
For Aduit in sqlserver ..you can check the below link http://blogs.msdn.com/b/manisblog/archive/2008/07/21/sql-server-2008-auditing.aspxLink