您的位置:首页 > 其它

When and how to trace who and when alter the table

2010-07-19 11:35 309 查看
CREATE TABLE TriggerLog (LogInfo xml,HostName Varchar(255), AppName Varchar(255))

 

create TRIGGER safety
ON DATABASE
FOR DROP_TABLE
AS
   DECLARE @EventData AS xml
   DECLARE @ObjectName AS VARCHAR(100)
   SET @EventData = EVENTDATA()    ROLLBACK 
    INSERT INTO TriggerLog VALUES(@EventData,HOST_NAME(),APP_NAME())

 

Here is a sample of LogInfo, you can parse it and save it into the table.

 

<EVENT_INSTANCE>
  <EventType>DROP_TABLE</EventType>
  <PostTime>2010-07-19T11:30:52.430</PostTime>
  <SPID>53</SPID>
  <ServerName>FB</ServerName>
  <LoginName>FR/ong</LoginName>
  <UserName>dbo</UserName>
  <DatabaseName>TESTDB</DatabaseName>
  <SchemaName>dbo</SchemaName>
  <ObjectName>Orders</ObjectName>
  <ObjectType>TABLE</ObjectType>
  <TSQLCommand>
    <SetOptions ANSI_NULLS="ON" ANSI_NULL_DEFAULT="ON" ANSI_PADDING="ON" QUOTED_IDENTIFIER="ON" ENCRYPTED="FALSE" />
    <CommandText>DROP TABLE [dbo].[Orders]</CommandText>
  </TSQLCommand>
</EVENT_INSTANCE>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐