關於SQL Trace及SQL Server Profiler的差別及使用注意事項可看文章最後的參考資料
透過以下程序就可以自動啟動,並且在指定時間停止
1. 依序展開[開始]->[Microsoft SQL Server 2008 R2]->[效能工具]->[SQL Server Profiler]
2. 在[SQL Server Profiler]視窗中的工具列依序展開[檔案]->[新增追蹤]
3. 在[連接到伺服器]視窗選擇要Trace的資料庫主機後按下[連接]
4. 在[追蹤屬性]視窗選擇您要監控的項目以及設定相關屬性後按下[執行]
5. 回到[SQL Server Profiler]視窗中的工具列依序展開[檔案]->[停止追蹤]
6. 在[SQL Server Profiler]視窗中的工具列依序展開[檔案]->[匯出]->[指令碼追蹤定義]->[對於 SQL Server 2005-2008 R2]後將檔案存放在您指定的路徑下且該副檔名為.sql,例如:Trace_Temp.sql
7. 使用 SSMS 管理工具,開啟Trace_Temp.sql
8.在Trace_Temp.sql檔案中找到以下的程式碼並修改參數後存檔,關於sp_trace_create的相關參數請參考
TECHNET
declare @rc int
declare @TraceID int
declare @maxfilesize bigint
declare @stoptime datetime
set @maxfilesize = 100
set @stoptime = '2013-10-08 07:15:00'
-- Please replace the text
InsertFileNameHere, with an appropriate
-- filename prefixed by a path, e.g.,
c:\MyFolder\MyTrace. The .trc extension
-- will be appended to the filename
automatically. If you are writing from
-- remote server to local drive, please
use UNC path and make sure server has
-- write access to your network share
exec @rc =
sp_trace_create @TraceID output, 2, N'D:\myTrace\TraceLog',
@maxfilesize, @stoptime
參數說明
@TraceID output, 2 --> 指定在到達 max_file_size 時,關閉目前的追蹤檔,建立一個新檔案
@tracefile=N'D:\myTrace\TraceLog' --> 指定存放路徑
@maxfilesize = 100 --> 單一Trace檔案大小上限
@stoptime = '2013-10-08 07:15:00' --> 停止Trace時間
9. 將Trace_Temp.sql排入排程(SQL或Windows排程皆可)
10. 待Trace完成後,再用SQL Server Profiler工具開啟或是匯入到SQL Server中做後續分析
參考資料
1. 德瑞克老師的
使用 SQL Profiler 建立「SQL 追蹤(SQL Trace)」
2. Facebook的Super SQL Server 楊老師的文件"資料庫管理主題 VII, 如何藉由SQL Server Profiler快速產生sp_trace程序"
3.
TECHNET sp_trace_create (Transact-SQL)