2015-08-25 50 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" 
相關問題