使用資料行描述事件
SQL 追蹤使用追蹤輸出的資料行來描述追蹤執行時傳回的事件。
附註: |
---|
在 SQL Server 2005 中,大於 1GB 的追蹤資料行值會傳回錯誤,並在追蹤輸出中截斷。 |
下表描述 Microsoft SQL Server Profiler 資料行,這些資料行與 SQL 追蹤使用的資料行相同,同時也會指出預設會選取的資料行。
資料行
資料行編號
描述
ApplicationName1
10
建立 SQL Server 執行個體之連接的用戶端應用程式名稱。這個資料行會填入應用程式所傳送的值,而非程式的名稱。
BigintData1
52
值 (bigint 資料類型),會視追蹤指定的事件類別而定。
BigintData2
53
值 (bigint 資料類型),會視追蹤指定的事件類別而定。
Binary Data
2
二進位值,依據在追蹤中所擷取的事件類別而定。
ClientProcessID1
9
主機電腦指派給用戶端應用程式執行中處理序的識別碼。如果用戶端提供處理序識別碼,這個資料行就會擴展。
ColumnPermissions
44
指出是否設定資料行權限。您可以剖析陳述式文字,以判斷資料行所套用的權限。
CPU
18
事件所使用的 CPU 時間量 (以毫秒為單位)。
Database ID1
3
由 USE database_name 陳述式指定的資料庫識別碼,如果沒有對指定的執行個體發出 USE database_name陳述式,則為預設資料庫識別碼。SQL Server Profiler 會顯示資料庫名稱 (如果在追蹤內擷取到 ServerName 資料行,而且伺服器可供使用的話)。請使用 DB_ID 函數判斷資料庫的值。
DatabaseName
35
正在其中執行使用者陳述式的資料庫名稱。
DBUserName1
40
用戶端的 SQL Server 使用者名稱。
Duration
13
事件的持續期間 (以百萬分之一秒為單位)。
附註:
在 SQL Server 2005 中,伺服器以百萬分之一秒為單位 (百萬分之一秒,或 10-6 秒) 報告事件的持續時間,以毫秒為單位 (千分之一秒,或 10-3 秒) 報告事件使用的 CPU 時間量。在 SQL Server 2000 中,伺服器同時以毫秒為單位報告持續時間和 CPU 時間。在 SQL Server 2005 中,SQL Server Profiler 圖形使用者介面依預設會以毫秒為單位來顯示 [持續時間] 資料行,但是當追蹤儲存到檔案或資料庫資料表時,會以百萬分之一秒為單位來寫入 [持續時間] 資料行值。
EndTime
15
事件結束的時間。參考到啟動事件的事件類別,例如 SQL:BatchStarting 或 SP:Starting,不會填入這個欄位。
Error
31
給定事件的錯誤代碼。通常這是儲存在 sysmessages 中的錯誤代碼。
EventClass1
27
所擷取的事件類別的類型。
EventSequence
51
這個事件的序號。
EventSubClass1
21
事件子類別的類型,可為每個事件類別提供更詳細的資訊。例如,Execution Warning 事件類別的事件子類別值代表執行警告的類型:
1 = 查詢等候。查詢必須等候資源 (例如記憶體) 才得以執行。
2 = 查詢逾時。等候執行所需的資源時查詢逾時。所有事件類別的這個資料行都不會擴展。
GUID
54
GUID 值,依據在追蹤內指定的事件類別而定。
FileName
36
所修改之檔案的邏輯名稱。
Handle
33
ODBC、OLE DB 或 DB-Library 用來協調伺服器執行的整數。
HostName1
8
執行用戶端的電腦名稱。這個資料行會在用戶端提供主機名稱時填入。若要得知主機名稱,請使用 HOST_NAME 函數。
IndexID
24
受事件所影響的物件上的索引識別碼。若要確定物件的索引識別碼,請使用 sysindexes 系統資料表的 indid 資料行。
IntegerData
25
相依於追蹤所擷取之事件類別的整數值。
IntegerData2
55
相依於追蹤所擷取之事件類別的整數值。
IsSystem
60
指出事件是發生於系統處理序或使用者處理序:
1 = 系統
0 = 使用者
LineNumber
5
包含錯誤行號。如果事件與 Transact-SQL 陳述式 (例如 SP:StmtStarting) 有關,LineNumber 便會將陳述式的行數包含在預存程序或批次中。
LinkedServerName
45
連結伺服器的名稱。
LoginName
11
使用者的登入名稱 (SQL Server 安全性登入或 DOMAIN\Username 格式的 Windows 登入認證)。
LoginSid1
41
已登入之使用者的安全性識別碼 (SID)。您可以在 master 資料庫的 sys.server_principals 檢視中找到此資訊。每個資料庫登入都有唯一的 ID。
MethodName
47
OLEDB 方法的名稱。
Mode
32
各種事件用來描述事件所要求或已接收的狀態之整數。
NestLevel
29
代表 @@NESTLEVEL 所傳回資料的整數。
NTDomainName1
7
使用者所隸屬的 Microsoft Windows 網域。
NTUserName1
6
Windows 使用者名稱。
ObjectID
22
系統指派的物件識別碼。
ObjectID2
56
相關物件或實體的識別碼 (如果有的話)。
ObjectName
34
所參考之物件名稱。
ObjectType2
28
代表事件涉及的物件類型之值。此值對應到 sysobjects 中的 type 資料行。
Offset
61
預存程序或批次內之陳述式的起始位移。
OwnerID
58
只適用於鎖定事件。擁有鎖定的物件類型。
OwnerName
37
物件擁有者的資料庫使用者名稱。
ParentName
59
物件所在的結構描述名稱。
Permissions
19
代表核取的權限類型的整數值。值為:
1 = SELECT ALL
2 = UPDATE ALL
4 = REFERENCES ALL
8 = INSERT
16 = DELETE
32 = EXECUTE (限程序)
4096 = SELECT ANY (至少一個資料行)
8192 = UPDATE ANY
16384 = REFERENCES ANY
ProviderName
46
OLEDB 提供者的名稱。
Reads
16
伺服器代表事件所執行的邏輯磁碟讀取作業次數。這些讀取作業包括陳述式執行期間,從表格和緩衝區執行的讀取。
RequestID
49
包含陳述式之要求的識別碼。
RoleName
38
所啟用的應用程式角色名稱。
RowCounts
48
批次中的資料列數目。
ServerName1
26
所追蹤的 SQL Server 執行個體名稱。
SessionLoginName
64
引發工作階段的使用者登入名稱。例如,如果您使用 Login1 連接到 SQL Server,卻以 Login2 執行陳述式,則 SessionLoginName 會顯示 Login1,而 LoginName 會顯示 Login2。此資料行會同時顯示 SQL Server 和 Windows 登入。
Severity
20
例外事件的嚴重性層級。
SourceDatabaseID
62
其中存在著物件來源的資料庫之識別碼。
SPID
12
SQL Server 指派給用戶端相關聯之處理序的伺服器處理序識別碼 (SPID)。
SqlHandle
63
這是一個 64 位元雜湊,以特定查詢的文字或 SQL 物件的資料庫和物件識別碼為基礎。這個值可以傳給 sys.dm_exec_sql_text(),以擷取相關聯的 SQL 文字。
StartTime1
14
事件啟動的時間 (如果有的話)。
State
30
錯誤狀態碼。
Success
23
代表事件成功與否。數值包括:
1 = 成功。
0 = 失敗
例如,1 表示權限檢查成功,0 表示檢查失敗。
TargetLoginName
42
對於目標為登入的動作,這是目標登入的名稱;例如,要加入新登入。
TargetLoginSid
43
對於目標為登入的動作,這是目標登入的 SID;例如,要加入新登入。
TargetUserName
39
對於目標為資料庫使用者的動作,這是該使用者的名稱;例如,要授與使用者權限。
TextData
1
文字值,依據在追蹤中所擷取的事件類別而定。但是,如果是追蹤參數化查詢,TextData 資料行就不會顯示變數與資料值。
Transaction ID
4
系統指派的交易識別碼。
Type
57
相依於追蹤所擷取之事件類別的整數值。
Writes
17
伺服器代表事件所執行的實體磁碟寫入作業次數。
XactSequence
50
用來描述目前交易的 Token。
1 依預設,所有事件都會擴展這些資料行。
2 如需有關 ObjectType 資料行的詳細資訊,請參閱<ObjectType 追蹤事件資料行>。