对于查看Public对单个存储过程的权限
select dp.NAME AS principal_name,dp.type_desc AS principal_type_desc,o.NAME AS object_name,p.permission_name,p.state_desc AS permission_state_desc 
from sys.database_permissions p left OUTER JOIN sys.all_objects o 
on p.major_id = o.OBJECT_ID
inner JOIN sys.database_principals dp 
on p.grantee_principal_id = dp.principal_id and p.grantee_principal_id=DATABASE_PRINCIPAL_ID('public') and o.name='sp_helppeerrequests'
其中o.name='sp_helppeerrequests'用来指定存储过程名
 
 
2000:只能删除,所以用查看是否被禁用的存储过程就用(exec sp_helptext 存储过程的名称)
2005、2008:对好不要删除,对Public进行限制权限即可(deny execute on 存储工程名称  to public)
当然,有些存储过程是在2008里没有的。