SQL:StmtRecompile 事件类

SQL:StmtRecompile 事件类指示由所有类型的批处理引起的语句级重新编译:存储过程、触发器、即席批处理和查询。 可以使用sp_executesql、动态 SQL、Prepare 方法、Execute 方法或类似接口提交查询。 应使用 SQL:StmtRecompile 事件类,而不是 SP:Recompile 事件类。

SQL:StmtRecompile 事件类数据列

数据列名称 数据类型 DESCRIPTION 列 ID 可筛选
应用程序名称 nvarchar 创建到 Microsoft SQL Server 实例的连接的客户端应用程序的名称。 此列使用应用程序传递的值填充,而不是程序的显示名称 10 是的
ClientProcessID int 主机为运行该客户端应用程序的进程分配的 ID。 如果客户端提供进程 ID,则填充此数据列。 9 是的
数据库ID int 运行存储过程的数据库的 ID。 可使用 DB_ID 函数来确定数据库的值。 3 是的
数据库名称 nvarchar 在其中运行存储过程的数据库的名称。 35 是的
事件序列 int 请求中的事件序列。 51
事件子类 int 描述重新编译的原因:

1 = 架构已更改

2 = 统计信息已更改

3 = 延迟编译

4 = 已更改设置选项

5 = 临时表已更改

6 = 远程行集已更改

7 = 更改了浏览权限

8 = 查询通知环境已更改

9 = 分区视图已更改

10 = 光标选项已更改

11 = 请求的选项(重新编译)
21 是的
群组ID int 在其中激发 SQL 跟踪事件的工作负荷组的 ID。 66 是的
主机名称 nvarchar 运行客户端并提交此语句的计算机的名称。 如果客户端提供了主机名,则填充此数据列。 若要确定主机名,请使用 HOST_NAME 函数。 8 是的
整数数据2 int 在导致重新编译的存储过程或批处理中语句的结束偏移量。 如果语句是批处理中的最后一个语句,则结束偏移量为 -1。 55 是的
IsSystem int 指示事件是发生在系统进程中还是发生在用户进程中。

1 = 系统

0 = 用户
六十 是的
行编号 int 批处理中此语句的序列号(如果适用)。 5 是的
登录名 nvarchar 提交此批的登录名的名称。 11 是的
LoginSid image 当前登录用户的安全标识符(SID)。 您可以在 sys.server_principals 目录视图中找到此信息。 服务器中的每个登录名都具有唯一的 SID。 41 是的
NestLevel int 存储过程调用的嵌套级别。 例如,my_proc_a存储过程调用my_proc_b。 在这种情况下,my_proc_a的 NestLevel 为 1,my_proc_b的 NestLevel 为 2。 二十九 是的
NT域名名称 nvarchar 用户所属的 Windows 域。 7 是的
NT用户名 (NTUserName) nvarchar 已连接用户的 Windows 用户名。 6 是的
ObjectID(对象标识符) int 包含导致重新编译的语句的对象的系统分配标识符。 此对象可以是存储过程、触发器或用户定义的函数。 对于即席批处理或准备的 SQL,ObjectID 和 ObjectName 返回 NULL 值。 22 是的
对象名称 nvarchar ObjectID 标识的对象的名称。 34 是的
对象类型 int 表示事件中涉及的对象类型的值。 有关详细信息,请参阅 ObjectType 跟踪事件列 28 是的
抵消 int 导致重新编译的存储过程或批处理中的语句起始偏移量。 61 是的
RequestID int 包含该语句的请求的 ID。 49 是的
服务器名称 nvarchar 要跟踪的 SQL Server 的名称。 26
SessionLoginName nvarchar 发起会话的用户的登录名。 例如,如果使用 Login1 连接到 SQL Server,并将语句作为 Login2 执行,SessionLoginName 将显示 Login1,LoginName 显示 Login2。 此列同时显示 SQL Server 和 Windows 登录名。 64 是的
意大利公共数字身份系统 (SPID) int 连接的服务器进程 ID。 12 是的
SqlHandle varbinary 基于即席查询的文本或 SQL 对象的数据库和对象 ID 的 64 位哈希。 此值可以传递给sys.dm_exec_sql_text以检索关联的 SQL 文本。 63
开始时间 datetime 该事件(如果存在)的启动时间。 14 是的
TextData ntext 重新编译的 Transact-SQL 语句的文本。 1 是的
TransactionID bigint 系统分配的事务 ID。 4 是的
XactSequence bigint 用于说明当前事务的标记。 50 是的

另请参阅

SP:重新编译事件类
sp_trace_setevent(Transact-SQL)