我正在尝试检索我的sybase DB的数据库大小。但是我得到这个命令以查看数据库大小“ sp_spaceused ”。但此命令显示所有信息以及数据库大小。 以下是输出
INSERT INTO WOS_DM_KEYWORD
(
CD_UID
, CD_KEYWORD
, FLAG)
select RecUid.CD_UID
, Abst2.*
from testtable2 t
cross join xmltable(xmlnamespaces(default 'http://scientific.thomsonreuters.com/schema/wok5.4/public/FullRecord'),
'records/REC'
passing t.xml_file
columns CD_UID varchar2(200) path 'UID',
Abstract xmltype path 'static_data/fullrecord_metadata/keywords'
) RecUid
cross join xmltable(xmlnamespaces(default 'http://scientific.thomsonreuters.com /schema/wok5.4/public/FullRecord'),
'keywords/keyword'
passing RecUid.Abstract
columns CD_KEYWORD varchar2(200) path '.',
FLAG '1'
) Abst2
;
这里mydb是我正在使用的数据库名称。但是我想要一个sybase查询或命令,它只会返回我可以放在varchar或整数中的数据库大小,并通过我的.sql数据库脚本使用。
,或者
如何优化我的sybase命令输出(如unix中的grep)并仅过滤掉所需的输出。
提前致谢。
答案 0 :(得分: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"