SQL事件探查器數據列
SQL事件探查器使您得以在創建模板時選擇數據列。這些數據列表現在運行跟蹤時希望返回的信息。在SQL事件探查器中顯示的數據可以按事件發生的順序顯示,也可以按一個數據列或數據列組合分組顯示。
例如,若要識別執行時間最長的用戶事件,請按DBUserName和Duration對事件進行分組。SQL事件探查器將顯示每個事件的執行時間。該功能類似于Transact-SQL中的GROUPBY子句。有關更多信息,請參見GROUPBY。
說明不能按StartTime或EndTime數據列進行分組。
如果SQL事件探查器可以連接到捕獲跟蹤數據時所在的Microsoft®SQLServer™實例,則將嘗試用數據庫、對象和索引的名稱分別填充DatabaseID、ObjectID和IndexID數據列。否則,將顯示標識號(ID)。
下表描述默認情況下選定的SQL事件探查器數據列。
數據列列號描述
ApplicationName110創建與SQLServer實例的連接的客戶端應用程序名。該列由應用程序傳遞的值填充,而不是由所顯示的程序名填充。
BinaryData2與在跟蹤中捕獲的事件類相關的二進制值。
ClientProcessID19由主機計算機分配給進程的ID,在該進程中客戶應用程序正在運行。如果客戶端提供客戶端進程ID,則填充此數據列。
ColumnPermissions44表明是否已設置了列權限。分析語句文本,以確定將哪些權限應用到了哪些列。
CPU18事件所使用的CPU時間總計(以毫秒為單位)。
DatabaseID13USEdatabase語句所指定的數據庫ID,如果沒有對給定實例發出過USEdatabase語句,則是默認數據庫。如果在跟蹤內捕獲ServerName數據列且服務器可用,則SQL事件探查器將顯示數據庫名。通過使用DB_ID函數確定數據庫的值。
DatabaseName35正在運行用戶語句的數據庫的名稱。
DBUserName140客戶端的SQLServer用戶名。
Duration13事件所花費的時間總計(以毫秒為單位)。
EndTime15事件結束時的時間。啟動事件的事件類(如SQL:BatchStarting或SP:Starting)的該列不填充。
Error31給定事件的錯誤號。通常是存儲在sysmessages中的錯誤號。
EventClass127捕獲的事件類類型。
EventSubClass121事件子類的類型,提供有關每個事件類的進一步信息。例如,ExecutionWarning事件類的事件子類值代表執行警告的類型:
1=查詢等待。查詢必須等待資源(如內存)才能執行。
2=查詢超時。查詢在等待執行所需的資源時超時。所有事件類的該數據列均不填充。
FileName36所修改的文件的邏輯名稱。
Handle33ODBC、OLEDB或DB-Library所用的整數,用以協調服務器的執行。
HostName18正運行客戶端的計算機名。如果客戶端提供主機名,則填充此數據列。若要確定主機名,請使用HOST_NAME函數。
IndexID24受事件影響的對象上的索引ID。若要確定對象的索引ID,請使用sysindexes系統表的indid列。
IntegerData25與在跟蹤中捕獲的事件類相關的整型值。
LoginName11用戶的登錄名(SQLServer安全登錄或MicrosoftWindows®登錄憑據,格式為DOMAIN\Username)。
LoginSid141登錄用戶的安全標識號(SID)。可以在master數據庫的sysxlogins表中找到該信息。對于服務器中的每個登錄,SID是唯一的。
Mode32不同事件所用的整數,用于描述事件已接收或要請求的狀態。
NestLevel29表示@@NESTLEVEL所返回的數據的整數。
NTDomainName17用戶所屬的MicrosoftWindowsNT®4.0或Windows2000域。
NTUserName16WindowsNT4.0或Windows2000用戶名。
ObjectID22系統分配的對象ID。
ObjectName34引用的對象名。
ObjectType28表示事件中涉及的對象類型的值。該值對應于sysobjects中的type列。
OwnerName37對象所有者的數據庫用戶名稱。
Permissions19表示所檢查的權限類型的整型值。取值為:
1=SELECTALL
2=UPDATEALL
4=REFERENCESALL
8=INSERT
16=DELETE
32=EXECUTE(僅限于過程)
4096=SELECTANY(至少一列)
8192=UPDATEANY
16384=REFERENCESANY
Reads16服務器代表事件執行的邏輯磁盤讀取數。
RoleName38要啟用的應用程序角色名。
ServerName126跟蹤的SQLServer實例名。
Severity20異常錯誤的嚴重級別。
SPID112SQLServer指派的與客戶端相關的服務器進程ID。
StartTime114啟動事件的時間(可用時)。
State30等同于錯誤狀態代碼。
Success23表示事件是否成功。取值包括:
1=成功。
0=失敗
例如,1表示權限檢查成功,0表示該檢查失敗。
TargetLoginName42對于以登錄為目標的操作(例如,添加新登錄),是目標登錄的名稱。
TargetLoginSid43對于以目標為登錄的操作(例如,添加新登錄),是目標登錄的SID。
TargetUserName39對于以數據庫用戶為目標的操作(例如授予用戶權限),是該用戶的名稱。
TextData1與跟蹤內捕獲的事件類相關的文本值。但是,如果正在跟蹤參數化查詢,則不以TextData列中的數據值顯示變量。
TransactionID4系統分配的事務ID。
Writes17服務器代表事件執行的物理磁盤寫入數。
1默認情況下,為所有事件填充這些數據列。
篩選的定義要根據你的跟蹤目的來定,一般常常會定義的篩選列包括:
1.DatabaseName同于你要監測的數據庫名(不過這個好像不起作用,我的電腦上設置無效)
2.DatabaseID同于你要檢測的數據庫的dbid,可以用selectdb_id(N'你要監測的庫名')得到dbid
3.ObjectName同于你要監測的對象名,例如表名,視圖名等
4.ObjectID同于你要監測的對象的id,可以用selectobject_id(N'你要監測的對象名')得到id
5.Error同于錯誤,如果經常出現某個編號的錯誤,則針對此錯誤號
6.Seccess同于0,失敗,1,成功,如果是排錯,就過濾掉成功的處理