SQL Server Profiler T-SQL跟蹤

sp_trace_create
 創建跟蹤定義。新的跟蹤將處於停止狀態。

語法:

sp_trace_create [ @traceid = ] trace_id OUTPUT
          , [ @options = ] option_value 
          , [ @tracefile = ] 'trace_file' 
     [ , [ @maxfilesize = ] max_file_size ]
     [ , [ @stoptime = ] 'stop_time' ]
     [ , [ @filecount = ] 'max_rollover_files' ]

參數:

@traceid
跟蹤的編號。數據類型爲 int,默認爲 NULL。用戶使用 trace_id 值標識、修改和控制此存儲過程定義的跟蹤。

@options
指定爲跟蹤設置的選項。option_value 的數據類型爲 int,無默認設置。

選項名 值 說明
TRACE_FILE_ROLLOVER 2 指定當達到 max_file_size ,將關閉當前跟蹤文件並創建新文件。常用的使用這個值。
SHUTDOWN_ON_ERROR 4 指定無論任何原因,如果不能將跟蹤寫入文件,則 SQL Server 將關閉。
TRACE_PRODUCE_BLACKBOX 6 同時啓用上面兩個選項,2和4 
TRACE_PRODUCE_BLACKBOX 8 指定服務器產生的最後 5MB 跟蹤信息記錄將由服務器保存。

@tracefile
指定跟蹤將寫入的位置和文件名。trace_file 的數據類型爲 nvarchar(245),沒有默認設置。trace_file 可以是本地目錄,也可以是到共享或路徑。

@maxfilesize
指定跟蹤文件可以增長到的最大文件大小 (MB)。max_file_size 的數據類型爲 bigint,默認設置爲 5。

@stoptime
指定停止跟蹤的日期和時間,stop_time 的數據類型爲 datetime,默認值爲 NULL。如果爲 NULL,該跟蹤將一直運行,直到它被手動停止或服務器關閉。

@filecount
指定使用同一基準文件名維護的最大跟蹤文件數。max_rollover_files 的數據類型爲 int,其值大於 1。這個選項通常不用設置,當然要保證有足夠的磁盤空間,否則磁盤空間填滿的時候跟蹤會自動停止。

返回值:

返回代碼 說明
0 沒有錯誤。
1 未知錯誤
10 無效選項。指定的選項不兼容時返回此代碼。
12 文件未創建。
13 內存不足。在沒有足夠內存執行指定的操作時返回此代碼。
14 無效停止時間。在指定的停止時間已發生時返回此代碼。
15 參數無效。在用戶已提供不兼容的參數時返回此代碼。

sp_trace_setevent
在跟蹤中添加或刪除事件或事件列。只能對已停止的現有跟蹤(status 爲 0)執行 sp_trace_setevent。如果對不存在的或其 status 值不爲 0 的跟蹤執行此存儲過程,則將返回錯誤。

語法:

sp_trace_setevent [ @traceid = ] trace_id 
          , [ @eventid = ] event_id
          , [ @columnid = ] column_id
          , [ @on = ] on


參數:

@traceid
要修改的跟蹤的 ID。

@eventid
要打開的事件的 ID。event_id 的數據類型爲 int,無默認值。可以跟蹤的事件有幾百個,這裏只列出較常用的幾個,其他的MSDN上有完整的介紹。

事件號 事件名稱  說明
10 RPC:Completed 在完成了遠程過程調用 (RPC) 時發生。
12 SQL:BatchCompleted 在完成了 Transact-SQL 批處理時發生。
14 Audit Login 在用戶成功登錄到 Microsoft SQL Server 時發生。
17 ExistingConnection 在檢測所有用戶在啓動跟蹤前連接到 SQL Server 的活動。
25 Lock:Deadlocktd>  指示兩個併發事務由於試圖獲得對方事務擁有的資源的不兼容鎖而發生了相互死鎖。
59 Lock:Deadlock Chain 爲導致死鎖的每個事件而生成。


@columnid
要爲該事件添加的列的 ID。column_id 的數據類型爲 int,無默認值。這裏也只列常用的。

列號 列名  說明
1 TextData 與跟蹤內捕獲的事件類相關的文本值。
8 HostName 發起請求的客戶端計算機的名稱。
10 ApplicationName 創建與 SQL Server 實例的連接的客戶端應用程序的名稱。此列由應用程序傳遞的值填充,而不是由所顯示的程序名填充。
11 LoginName 客戶端的 SQL Server 登錄名。
12 SPID SQL Server 分配給與客戶端關聯的進程的服務器進程 ID。
13 Duration 事件所花費的實耗時間(毫秒)。Hash Warning 事件不填充該數據列。
14 StartTime 事件開始的時間(如果可用)。
27 EventClass 被記錄的事件類的類型。
35 DatabaseName USE database 語句中指定的數據庫名稱。


@on
指定將事件設置爲 ON (1) 還是 OFF (0)。on 的數據類型爲 bit,無默認值。

sp_trace_setfilter
將篩選應用於跟蹤。只能對已停止的現有跟蹤(status 的值爲 0)執行 sp_trace_setfilter。如果對不存在的跟蹤或其 status 值不爲 0 的跟蹤執行此存儲過程,則 SQL Server 將返回錯誤。

語法:

sp_trace_setfilter [ @traceid = ] trace_id 
          , [ @columnid = ] column_id
          , [ @logical_operator = ] logical_operator
          , [ @comparison_operator = ] comparison_operator
          , [ @value = ] value


@traceid
要爲其設置篩選器的跟蹤的 ID。

@columnid
應用篩選器的列的 ID。

@logical_operator
指定將應用 AND (0) 運算符還是應用 OR (1) 運算符。logical_operator 的數據類型爲 int,無默認值。

@comparison_operator
指定要執行的比較的類型。comparison_operator 的數據類型爲 int,無默認值。

值  比較運算符 
0  =(等於) 
1  <>(不等於) 
2  >(大於) 
3  <(小於) 
4  >=(大於或等於) 
5  <=(小於或等於) 
6  LIKE 
7 NOT LIKE 

@value
指定要在其上進行篩選的值。

sp_trace_setstatus
修改指定跟蹤的當前狀態。

語法:

sp_trace_setstatus [ @traceid = ] trace_id 
          , [ @status = ] status


@traceid
trace_id要修改的跟蹤的 ID。

@status
指定要在跟蹤上實現的操作。status 的數據類型爲 int,無默認值。

狀態 說明
0 停止指定的跟蹤。
1 啓動指定的跟蹤。
2 關閉指定的跟蹤並從服務器中刪除其定義。

注意:在關閉跟蹤前首先必須先停止它。在查看跟蹤前首先必須先停止並關閉它。如果要刪除則將狀態指定爲2。

sp_trace_generateevent
創建用戶定義事件。

fn_trace_gettable
以表格格式返回一或多個跟蹤文件的內容。

語法:

fn_trace_gettable ( filename , number_files )


@filename
指定要讀取的初始跟蹤文件。filename 的數據類型爲 nvarchar(256),無默認值。

@number_files
指指定要讀取的滾動更新文件數。此數包括 filename 中指定的初始文件。number_files 的數據類型爲 int。如果 number_files 指定爲 “default”,fn_trace_gettable 將讀取所有的滾動更新文件,直到到達跟蹤結尾爲止。

fn_trace_getinfo
返回有關指定跟蹤或全部現有跟蹤的信息。

語法:

fn_trace_getinfo ( trace_id )


@trace_id
跟蹤的 ID。trace_id 的數據類型爲 int。當傳遞特定跟蹤的 ID 時,fn_trace_getinfo 將返回有關該跟蹤的信息。傳遞 0 或字符串 'default' 時,此函數將返回有關所有活動跟蹤的信息。

fn_trace_geteventinfo
返回有關所跟蹤的事件的信息。

fn_trace_getfilterinfo
返回有關應用於指定跟蹤的篩選器的信息。

以上基本是從聯機幫助上Copy的,都是理論,下面是我自己寫的應用。

 

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/hb_gx/archive/2007/08/15/1745800.aspx

發佈了25 篇原創文章 · 獲贊 6 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章