sp_whoisactive工具是创建的诊断工具。
Adam Machanic,用于关联来自多个不同 SQL 动态管理视图(DMVs)的信息。 因此,它能够提供比旧工具更丰富和更详细的信息集,例如
sp_who 和
sp_who2。 由于它非常强大,因此无法详细介绍其功能。
的
sp_whoisactive 工具是 SQL 存储过程,当执行此过程时,会返回有关当前 SQL 活动的信息。 您可以通过将参数传递给过程执行时,控制结果及其演示文稿。
本文介绍了如何获取和使用
sp_whoisactive。 在排除 ePO 数据库问题时,该工具会收集常见的相关信息。
安装 sp_whoisactive
注意:的
sp_whoisactive 工具托管于
Github,并在以下情况下获得许可
GPLv3。 要安装:
- 从以下内容下载源代码 ZIP 文件https://github.com/amachanic/sp_whoisactive/releases.
- 将 ZIP 文件解压缩到一个临时目录。
- 打开 who_is_active. sql SQL 管理工作室中的脚本文件。
- 请确保您的 ePO 数据库已在有效数据库dropbox。
注意:如果您使用的是 ePO5.10.x,请确保选择的是主 ePO 数据库,而不是单独的事件数据库。
- 单击 执行。
的
sp_whoisactive 存储过程现在已安装在您的 ePO 数据库中。
使用 sp_whoisactive
要收集信息,请执行
sp_whoisactive 在 Microsoft SQL 管理工作室中的查询窗口中:
exec sp_WhoIsActive
上面的命令使用默认设置运行过程。 这些设置提供当前活动的概览。
要修改结果,请在查询执行时通过传递参数替代默认设置:
注意:详细介绍所有受支持的参数,这超出了本文的范围。 但在大多数情况下,以下参数最为有用。
EXEC sp_WhoIsActive
@get_plans = 1,
@get_outer_command = 1,
@get_transaction_info = 1
上例显示了管理工作室窗口中的结果。
默认情况下,
sp_whoisactive 格式化某些结果,例如
sql_text,以 XML 格式使其交互。 您可以单击任何给定的结果以打开包含详细信息的新查询窗口。 但是,如果将结果保存到文件中,XML 格式会使结果难以读取。 如果技术支持请求文件,则可能需要将结果保存到文件中。
要将结果保存到文件,请执行以下操作以删除格式,以便更轻松地阅读:
EXEC sp_WhoIsActive
@get_plans = 1,
@get_outer_command = 1,
@get_transaction_info = 1,
@format_output = 0
执行查询前,右键单击查询窗口中的任意位置,然后选择结果至/结果至文件。 执行查询时,系统会提示您输入保存文件的位置。 保存完成后,右键单击查询窗口并选择结果至/结果到网格。 此操作会将环境返回到默认设置。