Программное определение размера БД в SQL #285662


#0 by DK_L
сабж, можно хотя бы размер *.mdf
#1 by DK_L
интересует 2000 или 2005 SQL
#2 by DK_L
В properties стоит 120 мегабайт, а запром получаю 12800 - в чем проблема ? select * from dbo.sysfiles where fileid = '1'
#3 by IronDemon
для 8.0 или 8.1?
#4 by IronDemon
sp_spaceused использовал?
#5 by 774816
DBCC SQLPERF (LOGSPACE)
#6 by 774816
но это к логам относиться
#7 by DK_L
Вот это вроде показывает нормально, размер отведенный и размер используемый select fileid, sf.groupid, grp=left([groupname],20), lname=left([name],20), size_mb=[size]/128 ,used_mb=FILEPROPERTY([name], 'SpaceUsed')/128 ,up=case when (sf.status&0x100000) > 0 then str(growth)+' %'            else str(growth/128)+' mb' end ,max_mb=case when [maxsize]<0 then 'Unrestricted' ,phname=left(filename,50) from sysfiles sf left outer join sysfilegroups sfg on sf.groupid=sfg.groupid order by 1
#8 by DK_L
а как sp_spaceused(я так понял это хранимая процедура или тригер) использовать, не нашел в списке хранимых процедур - в SQL 2000 смотрел
#9 by IronDemon
sp_spaceused ИмяТаблицы, вернет rows, Data, index_size
#10 by 774816
GO sp_spaceused GO
#11 by DK_L
она возвращает 2 результирующие таблицы в квери аналайзире - как одну выбрать?
#12 by DK_L
в итоге вот код кому интересно для получения размера БД(*.mdf и *.ldf) select sum(size/128) from dbo.sysfiles
#13 by IronDemon
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям