我有一个大约4GB大小的数据库。我已经复制了该数据库并删除了其中99%的数据,因为我只需要具有模式和基本数据(主要保留静态数据)的数据库。
现在的问题是MDF文件仍然大约有4GB大小。如果我读取表的大小(例如使用这个),它们总共加起来少于20MB。日志文件已经被收缩,但我运行的脚本都没有收缩DB文件。
注意:通常我不会这样做,但这次我需要缩小数据库(我知道这不是推荐的做法)
编辑:+有用信息
命令:
exec sp_spaceused
输出:
database_name database_size unallocated_space
AccudemiaEmptyDb 3648.38 MB 4.21 MB
命令:
select object_name(id) as objname, SUM(dpages*8) as dpages, COUNT(*) as cnt
from sysindexes
group by id
order by dpages desc
输出:
object_name(id) sum(dpages*8) count(*)
sysdercv 675328 1
sysxmitqueue 359776 1
sysdesend 72216 1
sysconvgroup 47704 1
sysobjvalues 4760 5
sec_OperationAccessRule 3472 5
sec_PageAccessRule 2232 5
syscolpars 656 11
AuditObjects 624 2
sysmultiobjrefs 408 5
HelpPage 376 8
sysschobjs 352 9
syssoftobjrefs 328 7
sysidxstats 272 10
sysrscols 200 1
Translation 160 3
sysallocunits 128 3
sysiscols 128 8
syssingleobjrefs 96 5
sysrowsets 80 4