用数据列描述事件
跟踪运行时,SQL 跟踪使用跟踪输出中的数据列来描述返回的事件。
注意: |
---|
在 SQL Server 2005 中,大于 1 GB 的跟踪列值将返回错误,并且会在跟踪输出中被截断。 |
下表说明了 Microsoft SQL Server Profiler数据列(这些数据列与 SQL 跟踪使用的数据列相同),并指示默认情况下选择的列。
数据列
列号
说明
ApplicationName1
10
与 SQL Server 实例建立连接的客户端应用程序的名称。此列由该应用程序传递的值填充,而不是由程序名填充的。
BigintData1
52
值 (bigint 数据类型),取决于跟踪中指定的事件类。
BigintData2
53
值 (bigint 数据类型),取决于跟踪中指定的事件类。
Binary Data
2
依赖于跟踪中捕获的事件类的二进制值。
ClientProcessID1
9
由主机分配给正在运行客户端应用程序的进程的 ID。如果客户端提供了客户端进程 ID,则填充此数据列。
ColumnPermissions
44
表示是否已设置了列权限。可以分析语句文本来确定各列所应用权限的情况。
CPU
18
事件使用的 CPU 时间(毫秒)。
Database ID1
3
USE database_name 语句指定的数据库的 ID;如果未对给定实例执行 USE database_name 语句,则为默认数据库的 ID。如果在跟踪中捕获到 ServerName 数据列并且服务器可用,SQL Server Profiler将显示数据库的名称。若要确定数据库的值,请使用 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
受事件影响的对象的索引 ID。若要确定对象的索引 ID,请参见 sysindexes 系统表的 indid 列。
IntegerData
25
跟踪中捕获的与事件类对应的整数值。
IntegerData2
55
跟踪中捕获的与事件类对应的整数值。
IsSystem
60
指示该事件发生在系统进程还是用户进程上:
1 = 系统
0 = 用户
LineNumber
5
包含存在错误的行的行号。对于涉及 Transact-SQL 语句的事件,像 SP:StmtStarting,LineNumber 包含的是存储过程或批处理中语句的行号。
LinkedServerName
45
链接服务器的名称。
LoginName
11
用户的登录名(SQL Server 安全登录名或 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
系统分配的对象 ID。
ObjectID2
56
相关对象或实体(如果存在)的 ID。
ObjectName
34
引用的对象名。
ObjectType2
28
表示事件中涉及的对象类型的值。该值对应于 sysobjects 中的 类型 列。
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
包含该语句的请求的 ID。
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
存在该对象的源的数据库 ID。
SPID
12
SQL Server 为客户端的相关进程分配的服务器进程 ID (SPID)。
SqlHandle
63
基于即席查询文本或 SQL 对象的数据库和对象 ID 的 64 位哈希运算。可以将该值传递到 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
系统为事务分配的 ID。
Type
57
跟踪中捕获的与事件类对应的整数值。
Writes
17
由服务器代表事件写入物理磁盘的次数。
XactSequence
50
用于说明当前事务的标记。
1 默认情况下,对于所有事件,均填充这些数据列。
2 有关 ObjectType 数据列的详细信息,请参阅 ObjectType 跟踪事件列。