列とテーブルの名前変更操作を検出する必要があります。alter
、drop
およびcreate
このクエリでの操作を確認できます。
DECLARE @filename nvarchar(1000);
SELECT @filename = cast(value as nvarchar(1000))
FROM ::fn_trace_getinfo(default)
WHERE traceid = 1 and property = 2;
SELECT *
FROM fn_trace_gettable(@filename, default) AS ftg
INNER JOIN sys.trace_events AS te ON ftg.EventClass = te.trace_event_id
left outer join sys.all_objects o on o.name = ftg.ObjectName
order by EventSequence DESC;
しかし、誰かが MSSQL Management Studio でテーブルまたは列の名前を変更すると、このクエリで検出できません。それを行う別の方法はありますか?
よろしく。