免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2688 | 回复: 3
打印 上一主题 下一主题

关于sp_helpdb的输出问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-06-16 20:54 |只看该作者 |倒序浏览
我在isql中使用sp_helpdb apdb,结果输出如下:
name                     db_size       owner                    dbid  
         created      
         status                                                                                                
------------------------ ------------- ------------------------ ------
        --------------
        ------------------------------------------------------------------------------------------------------
apdb                         3072.0 MB apdbo                         4
         Mar 14, 2003  
         select into/bulkcopy/pllsort, trunc log on chkpt                                                        

(1 row affected)
device_fragments               size          usage               
         free kbytes      
------------------------------ ------------- --------------------
        ----------------
d_apdsdb                       2048.0 MB     data only           
                  2012364  
d_apdslog                      1024.0 MB     log only            
         not applicable   
                                                               
--------------------------------------------------------------
log only free kbytes = 1044478                                 
(return status = 0)


如果只需要获得这个表中的d_apdsdb的size大小,可以用其他的sql语句通过查询系统表实现么?

论坛徽章:
0
2 [报告]
发表于 2003-06-16 21:12 |只看该作者

关于sp_helpdb的输出问题

sp_spaceused tablename 可以估计表以及上面索引的大小
差别不会太大
如果感觉不是太准确 ,可以先更新统计信息
sp_updatestatistics  tablename     

ft 我还以为是一个表呢
这样不行

论坛徽章:
0
3 [报告]
发表于 2003-06-17 14:34 |只看该作者

关于sp_helpdb的输出问题

在系统表sysdevices中可以查询,high-low为此设备大小 :wink:

论坛徽章:
0
4 [报告]
发表于 2003-06-17 14:50 |只看该作者

关于sp_helpdb的输出问题

以前写的一个存储过程(ASE12的)

create proc p_getdbinfo
(@db_name varchar(30))
as
begin
select d.name as 'device name',u.size,
case u.segmap when 3 then 'data only' when 4 then 'log only' when 7 then 'data and log' else 'mix' end as purpose,
u.lstart, curunreservedpgs(dbid, lstart, unreservedpgs) as freepg
from master..sysusages u, master..sysdevices d
where d.low <= u.size + vstart
and d.high >;= u.size + vstart -1
and d.status &2 = 2
and dbid = db_id(@db_name)
order by segmap
end

里面有一段  curunreservedpgs(dbid, lstart, unreservedpgs)就是干这个的

如果是125,还需要跟上pagesize之类的东西,你自己琢磨琢磨sp_helpdb的源代码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP