管理扩展存储过程











本文转自 boyi55 51CTO博客,原文链接:http://blog.51cto.com/boyi55/38915 管理扩展存储过程 
from:[url]http://bbs.51cto.com/thread-437-1-3.html[/url]
对存储过程进行大手术,并且对帐号调用扩展存储过程的权限要慎重。 
其实在多数应用中根本用不到多少系统的存储过程,而SQL Server的这么多系统存储过程只是用来适应广大用户需求的,
所以请删除不必要的存储过程, 
因为有些系统的存储过程能很容易地被人利用起来提升权限或进行破坏。 
如果你不需要扩展存储过程xp_cmdshell请把它去掉。使用这个SQL语句: 
use master 
sp_dropextendedproc 'xp_cmdshell' 

xp_cmdshell是进入操作系统的最佳捷径,是数据库留给操作系统的一个大后门。 
如果你需要这个存储过程,请用这个语句也可以恢复过来。 

sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll' 

如果你不需要请丢弃OLE自动存储过程(会造成管理器中的某些特征不能使用),这些过程包括如下: 
Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty 
Sp_OAMethod Sp_OASetProperty Sp_OAStop 
去掉不需要的注册表访问的存储过程,注册表存储过程甚至能够读出操作系统管理员的密码来,如下: 
Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue 
Xp_regenumvalues Xp_regread Xp_regremovemultistring 
Xp_regwrite 
还有一些其他的扩展存储过程,你也最好检查检查。 
在处理存储过程的时候,请确认一下,避免造成对数据库或应用程序的伤害。 
附: Extended Stored Proc Removal and Restore Scripts
1.remove mssql2000 extended stored procedures.sql 

use master 
exec sp_dropextendedproc 'xp_cmdshell' 
go 
exec sp_dropextendedproc 'xp_dirtree' 
go 
exec sp_dropextendedproc 'xp_enumgroups' 
go 
exec sp_dropextendedproc 'xp_fixeddrives' 
go 
exec sp_dropextendedproc 'xp_loginconfig' 
go 
exec sp_dropextendedproc 'xp_regaddmultistring' 
go 
exec sp_dropextendedproc 'xp_regdeletekey' 
go 
exec sp_dropextendedproc 'xp_regdeletevalue' 
go 
exec sp_dropextendedproc 'xp_regread' 
go 
exec sp_dropextendedproc 'xp_regremovemultistring' 
go 
exec sp_dropextendedproc 'xp_regwrite' 
go 
exec sp_dropextendedproc 'xp_enumerrorlogs' 
go 
exec sp_dropextendedproc 'xp_getfiledetails' 
go 
exec sp_dropextendedproc 'xp_regenumvalues' 
go 

2.restore mssql2000 extended stored procedures.sql 

use master 
exec sp_addextendedproc 'xp_cmdshell', 'xplog70.dll' 
go 
exec sp_addextendedproc 'xp_dirtree', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_enumgroups', 'xplog70.dll' 
go 
exec sp_addextendedproc 'xp_fixeddrives', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_loginconfig', 'xplog70.dll' 
go 
exec sp_addextendedproc 'xp_regaddmultistring', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_regdeletekey', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_regdeletevalue', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_regread', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_regremovemultistring', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_regwrite', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_enumerrorlogs', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_getfiledetails', 'xpstar.dll' 
go 
exec sp_addextendedproc 'xp_regenumvalues', 'xpstar.dll' 
go,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值