So for starters I guess there is no Trigger for Before Insert, Update, Delete
OK So I have created a Trigger will say on my main table each time a column has been Update, inserted or deleted. This trigger is being used to create an Audit trail of all data that is changed.
I know it is very simple looking but it seems to do most of what I want. Except if a DB user who has write capability and is using T-SQL through SQL Manager or another tool, how could I capture who they are logged in as.
Also any other suggestions as to creating an Audit table
Alter Trigger TestTrigger ON TableTestTriggers
After Insert, Update, Delete
as
Begin
--Set noaccount on
Declare
@AuditDate Datetime,
@TableTestTriggersID as int,
@v_Row1 as nvarchar(50),
@v_Row2 as nvarchar(50),
@v_Row3 as nvarchar(50),
@UserName as nvarchar(50),
@EnterDate as datetime
Set @AuditDate = Getdate()
Set @TableTestTriggersID = (Select ID from inserted)
Set @v_Row1 = (Select Row1 from inserted)
Set @v_Row2 = (Select Row2 from inserted)
Set @v_Row3 = (Select Row3 from inserted)
Set @UserName = (Select Name from inserted)
Set @EnterDate = (Select EnterDate from inserted)
Insert into TableTestTriggers_Audit (TableTestTriggersID, Row1, Row2, Row3,Name, EnterDate, AuditDate)
Values (@TableTestTriggersID, @v_Row1, @v_Row2, @v_Row3, @UserName,@EnterDate, @AuditDate )
End