I would like to monitor all the DDL Statements which are executed .so that administrator can track all the illegal modifications done to the database. Please help me finding a programatical way to know which DDL statements are getting executed . Is there any stored procedure to know this.we have to meet this requirement using VC++. I am planning to Method 1: 1) create an profiler event and 2) filter it to access SQL::batchcompleted category class. 3)log information in a file 4)parse the information in the log for getting the DDL Statements executed. Method 2: create a automatic stored procedure which would log information to a file when create , alter ,drop commands are executed . Please help me out regarding this . Thanks in advance.