SQL Server中可以通过扩展事件来自动抓取阻塞
在SQL Server中可以通过扩展事件来自动抓取阻塞,以下是详细流程:
-
开启阻塞跟踪配置:
• 执行以下SQL语句来启用相关配置:
EXEC sp_configure'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'blocked process threshold', 10;
RECONFIGURE;
- 上述代码中,`blocked process threshold`设置为10,表示当阻塞持续时间达到10秒时,SQL Server将生成阻塞进程报告。可根据实际需求调整该值。
-
2创建扩展事件会话:
-
• 打开Microsoft SQL Server Management Studio,点击“扩展事件”“会话”。
-
• 在会话节点,右键选择【新建会话】。
-
• 输入会话名称,并勾选“在服务器启动时自动启动此会话”,以保证服务器启动时自动启动扩展事件。
-
• 选择“blocked_process_report”事件,点击【确认】后,可以看到新建立的事件会话。
-
-
3. 启动会话:选择创建好的会话,右键弹出菜单,选择【启动会话】。
-
4. 监控与查看结果:
-
• 启动会话后,发生阻塞时,可通过【监控实时数据】来查看数据。
-
• 点击阻塞的记录,双击字段为“blocked_process”的值列,可看到抓到的阻塞会话详细信息。
-
相关参考:
SQL Server中自动抓取阻塞的详细流程