有没有办法删除/隐藏系统扩展存储过程?

时间:2014-05-21 12:37:03

标签: sql-server tsql sql-server-2008-r2 mcafee extended-procedures

运行针对我们的数据库(SQL Server 2008R2)的McAfee ePolicy Orchestrator 5.1.0报告后,获得了下一个视图的一堆项目:

  

启用存储过程xp_xxx。建议放弃它   如果不需要的话。

我们已经检查过,所有这些 xp_xxx SP都属于sys。尝试下一件事:

EXEC sys.xp_sqlagent_is_starting

结果:

  

Msg 22024,Level 16,State 1,Line 0用法:EXECUTE   xp_sqlagent_is_starting< Flag INT> OUTPUT

所以这样的SP存在。然后尝试了:

exec sp_dropextendedproc xp_sqlagent_is_starting

AND

DROP PROCEDURE xp_sqlagent_is_starting 

结果:

  

消息3701,级别16,状态15,过程sp_dropextendedproc,第18行   不能放弃程序' xp_sqlagent_is_starting',因为它确实如此   不存在或您没有许可。

  

Msg 3701,Level 11,State 5,Line 1无法删除该程序   ' xp_sqlagent_is_starting',因为它不存在或你没有   得到许可。

所有的尝试都在' sa'用户。对我来说很明显,没有办法放弃它们,坦率地说,我没有看到安全问题。但报告应该是干净的:( 问题是:

  • DROP sys有什么办法吗?扩展SP?
  • 或者也许隐藏它们以获取McAfee ePolicy所针对的用户/角色 Orchestrator 5.1.0正在运行其扫描?

    我需要从安全报告中删除这些消息。 感谢。

1 个答案:

答案 0 :(得分:0)

您无法删除系统扩展程序。不要试图放弃它们,只需取消对每个人的执行许可:

DENY EXECUTE ON xp_xxx TO PUBLIC;

其他XP可以被删除,但如果他们被重新使用,可能会破坏你的应用程序。