Blocked Process Report 事件类

Blocked Process Report 事件类指明某个任务已被阻塞,导致超过指定的时间。此事件类不包括系统任务和正在等待未发现死锁的资源的任务。

若要配置阈值和报告生成频率,请使用 sp_configure 命令配置 blocked process threshold 选项(以秒为单位进行设置)。默认情况下,不生成阻塞的进程报告。有关设置 blocked process threshold 选项的详细信息,请参阅 blocked process threshold 选项

有关筛选 Blocked Process Report 事件类返回的数据的信息,请参阅如何在跟踪中筛选事件 (SQL Server Profiler)如何设置跟踪筛选器 (Transact-SQL)sp_trace_setfilter (Transact-SQL)

Blocked Process Report 事件类的数据列

数据列名称

数据类型

说明

列 ID

可筛选

DatabaseID

int

获取锁所在的数据库的 ID。如果在跟踪中捕获到 ServerName 数据列并且服务器可用,则 SQL Server Profiler将显示该数据库的名称。若要确定数据库的值,请使用 DB_ID 函数。

3

Duration

bigint

进程阻塞的时间(毫秒)。

13

EndTime

datetime

事件结束时的时间。对指示事件开始的事件类(例如 SQL:BatchStartingSP:Starting)将不填充此列。

15

EventClass

int

事件类型 = 137。

27

EventSequence

int

特定事件在请求中的顺序。

51

IndexID

int

受事件影响的对象的索引 ID。若要确定对象的索引 ID,请使用 sysindexes 系统表的 indid 列。

24

IsSystem

int

指示事件是发生在系统进程还是发生在用户进程。1 = 系统,0 = 用户。

60

LoginSid

image

已登录用户的安全标识符 (SID)。系统线程中始终报告此事件。IsSystem = 1;SID = sa。

41

Mode

int

事件已接收的或要请求的状态。

0 = NULL

1 = Sch-S

2 = Sch-M

3 = S

4 = U

5 = X

6 = IS

7 = IU

8 = IX

9 = SIU

10 = SIX

11 = UIX

12 = BU

13 = RangeS-S

14 = RangeS-U

15 = RangeI-N

16 = RangeI-S

17 = RangeI-U

18 = RangeI-X

19 = RangeX-S

20 = RangeX-U

21 = RangeX-X

32

ObjectID

int

获取其锁的对象的系统分配的 ID(如果可用并适用)。

22

ServerName

nvarchar

所跟踪的 SQL Server 实例的名称。

26

SessionLoginName

nvarchar

发起该会话的用户的登录名。例如,如果您使用 Login1 连接到 SQL Server 并以 Login2 身份执行语句,则 SessionLoginName 将显示 Login1,而 LoginName 将显示 Login2。此列将同时显示 SQL Server 登录名和 Windows 登录名。

64

TextData

ntext

依赖于跟踪中捕获的事件类的文本值。

1

TransactionID

bigint

系统分配的事务 ID。

4