2015-08-25 17 views
4

我试图检索我的sybase DB的数据库大小。但在任何地方我都看到了这个命令来查看数据库大小,“sp_spaceused”。但是显示此命令所有信息以及数据库大小。 下面是输出,如何在整数或varchar中获取确切的Sybase数据库大小

1> sp_spaceused 
2> go 
database_name database_size 
------------- ------------- 
mydb   310.0 MB 

(1 row affected) 
reserved data index_size unused 
-------- ------- ---------- ------- 
5690 KB 1036 KB 2986 KB 1482 KB 
(return status = 0) 

这里MYDB是数据库名称我using.But我想要一个SYBASE查询或命令是什么将只返回数据库大小,我可以在一个varchar或整数和使用场所通过我的.sql数据库脚本。

,或者

我怎么能改进我的SYBASE命令的输出(如在UNIX的grep),并过滤出所需的输出。

在此先感谢。

回答

1

您必须计算数据大小和日志大小。在查询中;第一部分是数据部分总和,第二部分是日志大小和。

但是,请不要忘记我假设你的服务器是2k页面设置。

select convert(varchar(100), (
    select sum(size) *2 /1024 
      from master.dbo.sysusages u 
      where u.segmap != 4 
      and u.dbid = db_id('MYDBNAME') 
     ) + (
    select sum(size) *2 /1024 
      from master.dbo.sysusages u 
      where u.segmap = 4 
      and u.dbid = db_id('MYDBNAME') 
    )) as "db_size" 
相关问题