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 | 是的 |