我有一个大小约为 4GB 的数据库。我已经复制了该数据库并删除了其中 99% 的数据,因为我需要一个仅包含架构和基本数据的数据库(保留大部分静态数据)。
现在的问题是 MDF 文件的大小仍然约为 4GB。如果我读取表的大小(例如使用this),它们的总和不到 20 MB。日志文件已经缩小,但我运行的脚本都没有用于缩小数据库文件。
注意:我平时不这样做,但是这次我需要收缩数据库(我知道不推荐)
编辑:+有用的信息
命令:
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