http://dba.stackexchange.com/questions/33541/how-to-keep-history-of-sql-server-stored-procedure-revisions/100628#100628 Step 1: Create a database and table to store the version info USE Utility; GO CREATE TABLE dbo.ProcedureChanges ( EventDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, EventType NVARCHAR(100), EventDDL NVARCHAR(MAX), DatabaseName NVARCHAR(255), SchemaName NVARCHAR(255), ObjectName NVARCHAR(255), HostName NVARCHAR(255), IPAddress VARCHAR(32), ProgramName NVARCHAR(255), LoginName NVARCHAR(255) ); Step 2: Grab the initial version USE YourDB; GO INSERT Utility.dbo.ProcedureChanges ( EventType, EventDDL, DatabaseName, SchemaName, ObjectName ) SELECT N'Initial control', OBJECT_DEFINITION([object_id]), DB_NAME(), OBJECT_SCHEMA_NAME([object_id]), OBJECT_NAME([object_id]) FROM sys.procedures; Step 3: Create a trigger to grab additional versions U