目标可以是文件或 SQL Server 管理对象 (SMO),它可以使用管理 SQL Server 的应用程序中的跟踪信息。

这样,您就可以针对企业的特定需求编写自定义应用程序。

以下关系图显示了在跟踪期间 SQL 跟踪如何收集事件。

 
 
  

SQL Server Profiler 数据列(这些数据列与 SQL 跟踪使用的数据列相同),并指示默认情况下选择的列。

数据列

列号 说明

1

10

此列由该应用程序传递的值填充,而不是由程序名填充的。

BigintData1

52

 数据类型),取决于跟踪中指定的事件类。

BigintData2

53

 数据类型),取决于跟踪中指定的事件类。

Binary Data

2

依赖于跟踪中捕获的事件类的二进制值。

1

9

如果客户端提供了客户端进程 ID,则填充此数据列。

ColumnPermissions

44

可以分析语句文本来确定各列所应用权限的情况。

CPU

18

事件使用的 CPU 时间(毫秒)。

1

3

若要确定数据库的值,请使用 DB_ID 函数。

DatabaseName

35

正在运行用户语句的数据库的名称。

1

40

客户端的 SQL Server 用户名。

Duration

13

事件的持续时间(微秒)。

SQL Server Profiler 图形用户界面默认以毫秒为单位显示“持续时间”列,但是当跟踪保存到文件或数据库表中时,将以微秒为单位写入“持续时间”列值。

EndTime

15

 或SP:Starting)将不填充此列。

Error

31

 中存储的错误号。

1

27

捕获的事件类的类型。

EventSequence

51

此事件的序列号。

1

21

 事件类的事件子类值代表执行警告的类型:

查询执行之前必须等待资源;例如,内存。

对于所有事件类,均不填充此数据列。

GUID

54

依赖于跟踪中指定的事件类的 GUID 值。

FileName

36

所修改的文件的逻辑名称。

Handle

33

一个整数,ODBC、OLE DB 或 DB-Library 使用它来协调服务器的执行情况。

1

8

若要确定主机名,请使用 HOST_NAME 函数。

IndexID

24

 列。

IntegerData

25

跟踪中捕获的与事件类对应的整数值。

IntegerData2

55

跟踪中捕获的与事件类对应的整数值。

IsSystem

60

指示该事件发生在系统进程还是用户进程上:

 = 系统

 = 用户

LineNumber

5

 包含存储过程或批处理中语句的行号。

LinkedServerName

45

链接服务器的名称。

LoginName

11

用户的登录名(SQL Server 安全登录名或 Windows 登录凭据,格式为“域/用户名”)。

1

41

服务器中的每个登录名都具有唯一的 ID。

MethodName

47

OLEDB 方法的名称。

Mode

32

一个整数,各种事件都使用它来描述事件要请求或已接收的状态。

NestLevel

29

一个整数,表示 @@NESTLEVEL 返回的数据。

1

7

用户所属的 Microsoft Windows 域。

1

6

Windows 用户名。

ObjectID

22

系统分配的对象 ID。

ObjectID2

56

相关对象或实体(如果存在)的 ID。

ObjectName

34

被引用对象的名称。

2

28

 列。

Offset

61

语句在存储过程或批处理中的起始偏移量。

OwnerID

58

拥有锁的对象的类型。

OwnerName

37

对象所有者的数据库用户名。

ParentName

59

该对象所在的架构的名称。

Permissions

19

值为:

 = SELECT ALL

 = UPDATE ALL

 = REFERENCES ALL

 = INSERT

 = DELETE

 = EXECUTE(仅过程)

 = SELECT ANY(至少一列)

 = UPDATE ANY

 = REFERENCES ANY

ProviderName

46

OLEDB 访问接口的名称。

Reads

16

这些读取操作数包含在语句执行期间读取表和缓冲区的次数。

RequestID

49

包含该语句的请求的 ID。

RoleName

38

正在启用的应用程序角色名。

RowCounts

48

批处理中的行数。

1

26

正在跟踪的 SQL Server 实例的名称。

SessionLoginName

64

此数据列将同时显示 SQL Server 登录名和 Windows 登录名。

Severity

20

异常错误事件的严重级别。

SourceDatabaseID

62

存在该对象的源的数据库 ID。

SPID

12

SQL Server 为客户端的相关进程分配的服务器进程 ID (SPID)。

SqlHandle

63

 以检索关联的 SQL 文本。

1

14

事件(如果有)的开始时间。

状态

30

错误状态代码。

Success

23

值包括:

 = 成功。

 = 失败

 表示权限检查失败。

TargetLoginName

42

如果是针对登录的操作(例如,添加新的登录),这是所针对登录的名称。

TargetLoginSid

43

如果是针对登录的操作(例如,添加新的登录),这是所针对登录的 SID。

TargetUserName

39

如果是针对某个数据库用户的操作(例如,授予用户权限),这是该用户的名称。

TextData

1

 列中的数据值显示变量。

Transaction ID

4

系统为事务分配的 ID。

类型 57

跟踪中捕获的与事件类对应的整数值。

Writes

17

由服务器代表事件写入物理磁盘的次数。

XactSequence

50

用于说明当前事务的标记。

 默认情况下,对于所有事件,均填充这些数据列。

ObjectType 跟踪事件列。

 

 

 

  

任务说明

主题

介绍如何使用 TRANSACT-SQL 存储过程创建和运行跟踪。

使用 Transact-SQL 存储过程创建和运行跟踪

介绍如何在 SQL Server 数据库引擎实例上使用存储过程创建手动跟踪。

使用存储过程创建手动跟踪

介绍如何将跟踪结果保存到跟踪结果所写入的文件。

将跟踪结果保存到文件

 目录中的空间来提高访问跟踪数据的性能。

改进对跟踪数据的访问

介绍如何使用存储过程创建跟踪。

创建跟踪 (Transact-SQL)

介绍如何使用存储过程创建只检索有关所需跟踪事件信息的筛选器。

设置跟踪筛选器 (Transact-SQL)

介绍如何使用存储过程修改现有跟踪。

修改现有跟踪 (Transact-SQL)

介绍如何使用内置函数查看保存的跟踪。

查看保存的跟踪 (Transact-SQL)

介绍如何使用内置函数查看跟踪筛选器信息。

查看筛选器信息 (Transact-SQL)

介绍如何使用存储过程删除跟踪。

删除跟踪 (Transact-SQL)

介绍如何将跟踪引起的性能损失降到最低。

优化 SQL 跟踪

介绍如何筛选跟踪以将跟踪过程中的开销降到最低。

筛选跟踪

介绍如何将跟踪收集的数据量降至最低。

限制跟踪文件和表的大小

介绍在 Microsoft SQL Server 中计划跟踪的两种方法。

安排跟踪

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章:

  • 2021-05-15
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-10
  • 2021-07-15
  • 2021-09-12
  • 2021-06-16
猜你喜欢
  • 2021-12-14
  • 2022-01-27
  • 2021-07-12
  • 2022-02-17
  • 2022-01-06
  • 2021-12-14
  • 2021-06-08
相关资源
相似解决方案