是否可以修改系统存储过程



我想更改sp_helpindex系统过程,或者更确切地说,用我的版本替换它。

原因是:

  • 显示index_id
  • 显示包含的列
  • 显示筛选器定义
  • 显示填充因子
  • 显示索引大小
  • 同时显示堆信息

此外,有趣的是,我的版本被证明性能更好(更快,读取更少,没有光标)。

我尝试了以下方法,但这些都不起作用:

  • sp_rename
  • 更改程序
  • 删除程序

错误Invalid object name 'sys.sp_helpindex'.

我现在能想到的唯一选择就是添加一个新过程而不是替换现有的过程。但是,有一个缺点。我希望sp_help(反过来调用sp_helpindex)能够无缝地获取我的更改,因此在服务器上使用 Alt+F1 的每个人都会看到更改,而无需更改每个客户端上的默认 SSMS 密钥快捷方式。

不,您不能修改任何系统过程。您可以创建自己的并改为调用它;您只需为其指定不同的sp_名称,将其标记为系统对象,而不是将其放入sys架构中。

哦,金伯利·特里普(Kimberly Tripp)没有从头开始创建自己的版本,而是一直在不断发展自己的版本,针对新功能进行了更新,当然您应该抓住肯德拉·利特尔(Kendra Little)的sp_BlitzIndex。你可能会发现你不需要写任何东西,因为很多人已经重新发明了这个轮子,并且做得很好。

最新更新