In many application the database structure can be changed by the user ex. CRM or Reporting. In such situation we may want to know such changes was maded. In SQL SERVER 2008 we have a possibility to react when DML (Data Manipulation Language) AND DDL (Data Definition Language) execution occured in out database. So try to log it. Firstly we want to Create a single table named 'DatabaseChangesLog': use model; GO CREATE SCHEMA LOGS CREATE TABLE DatabaseChangeLogs ( EventId int Identity Primary Key, EventDate datetime2 Constraint DF_DefaultLogDate DEFAULT(sysdatetime()), EventType nvarchar(100) NOT NULL, UserName nvarchar(1050) NOT NULL, Command nvarchar(max) NOT NULL ) GO Note that we creata this table in model databse. This means that each newly created database will has this table after creation. For existing databases You need to run this script manullay. Now when we have appropri...
Damian Zapart, Principal Engineering Manager @ Microsoft - official blog.