https://dotblogs.com.tw/jamesfu/2014/09/05/defaulttrace
C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Log
那麼 SQL Server 會啟動一組預設的 SQL Trace,我們可以透過「sys.traces」這個系統檢視來查看這個預設追蹤,一般來說這一組會是 id 編號為 1,並且 is_default 欄位會設定為 1。
SELECT * FROM sys.traces
1 1 C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Log\log_105.trc 20 NULL 5 0 1 0 1 2 1024 2097152 NULL 2018-02-21 14:03:55.283 2018-03-01 17:53:22.243 9325 NULL
得到路徑名稱
WITH ObjectTypeMap(Value,ObjectType) AS
(
SELECT * FROM
( Values ( 8259, 'Check Constraint' ),(8272,'Stored Procedure'),(8277, 'Table'),(8278,'View'),
(16964, 'Database'),(17235,'Schema' )
) as TypeMap(Value,ObjectType)
)
SELECT f.*, e.name,f.DatabaseName,m.ObjectType,f.TextData, f.ObjectName,f.ApplicationName, f.HostName,f.NTUserName,f.StartTime
FROM fn_trace_gettable('C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Log\log_105.trc',5) f
JOIN sys.trace_events e ON f.EventClass = e.trace_event_id AND f.EventClass in (46,47,164) and f.EventSubClass = 0
JOIN ObjectTypeMap m ON f.ObjectType = m.Value
WHERE DatabaseName = 'ESMARTROOM'
ORDER BY f.StartTime DESC,f.EventSequence DESC