未记录 sp_who2 是什么意思?

ige*_*elr 0 sql-server stored-procedures

我正在读一本关于 SQL Server 管理的书,在那里我遇到了这句话

sp_who2 是未公开的存储过程,它为您提供有关每个进程的更详细的信息(与 sp_who 相比)。

sp_who2 未记录是什么意思?它已被弃用还是不推荐使用它?

谢谢你的时间。

Dav*_*ett 5

“未记录”意味着它不是任何正式发布的 API 的一部分,因此没有隐含或明确的承诺它将以任何给定的方式工作,继续工作,或者不只是在任何时候消失(也许是一种安全发现与之相关的漏洞,因此 MS 只是决定暂时或永久禁用它,因为快速修复它是不切实际的)。

这不太可能发生,它很可能会保持当前的形式,但绝对不能保证这一点,因此如果您选择依赖它,您需要自担风险。

此外,由于调用的行为未在任何官方文档中定义,MS 没有义务及时或根本修复其中的任何错误(因为没有描述其行为的官方文档,它表现出的任何行为都可以被认为是正确的)。

相关说明:它输出的所有信息都可以从记录的系统表和视图中获得(您可以从 master 编写其代码以查看它的作用),因此您可以编写自己的收集更多信息以输出的信息 - 多年来我有我自己的“sp_who3”就是这样做的。这些天我改用 Adam Machanic 的sp_whoisactive