我在我的 SSMS 中注册了一堆 SQL Server,许多不同的 SQL 版本、版本和数据库兼容性。
我想检查是否有任何这些服务器安装了sp_Blitz或sp_WhoIsActive存储过程,以及它们的版本。
我知道我可以右键单击我的Registered Servers 组并打开一个连接到该组中所有服务器的查询窗口,但是有没有一种可靠的方法来检查我拥有哪些 SProc 和版本?
我在我的 SSMS 中注册了一堆 SQL Server,许多不同的 SQL 版本、版本和数据库兼容性。
我想检查是否有任何这些服务器安装了sp_Blitz或sp_WhoIsActive存储过程,以及它们的版本。
我知道我可以右键单击我的Registered Servers 组并打开一个连接到该组中所有服务器的查询窗口,但是有没有一种可靠的方法来检查我拥有哪些 SProc 和版本?
对于 sp_Blitz,在 Github 上提交了一个增强请求以添加 version 的输出,如果您想影响工作的完成方式(或贡献代码),欢迎您在那里发表评论。
对于 sp_WhoIsActive,作者 Adam Machanic 正在考虑在每次运行时向“消息”选项卡添加一个输出。
在那之前,Oreo 上面关于检查代码的建议是最好的。我们不会故意破坏它——我们已经很多年没有改变这些字符串了,也不打算开始,呵呵。
通过嗅探存储在表中的 SProcs 源代码中的版本,我设法获得了一个非常有用的列表
sys.comments
。做出了大量假设,因此首先在一个单独的测试实例上测试此代码,然后再在您的众多生产服务器上疯狂......
编辑:添加了 Adam Machanic 的sp_WhoIsActive作为如何添加到此扫描程序脚本的示例。
我正在运行这样的东西: