0
我跑到下面的脚本来获取所有表的大小在我的数据库减少SQL Server数据库大小
SELECT t.NAME AS TableName, i.name AS indexName, SUM(p.rows) AS RowCounts,
SUM(a.total_pages) AS TotalPages, SUM(a.used_pages) AS UsedPages, SUM(a.data_pages)
AS DataPages,
(SUM(a.total_pages) * 8)/1024 AS TotalSpaceMB, (SUM(a.used_pages) * 8)/1024 AS
UsedSpaceMB, (SUM(a.data_pages) * 8)/1024 AS DataSpaceMB
FROM sys.tables t INNER JOIN sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN sys.allocation_units a ON p.partition_id = a.container_id
WHERE t.NAME NOT LIKE 'dt%'
AND i.OBJECT_ID > 255
AND i.index_id <= 1
GROUP BY t.NAME, i.object_id, i.index_id, i.name ORDER BY OBJECT_NAME(i.object_id)
许多表显示,在TotalSpaceMB和UsedSpaceMB列大的差异。总空间总数= 7.6GB,而UsedSpaceMB = 1.1GB。
如:表名:BOMS
行数:72747
总页数:183960
用页:23999
数据页:21752
TotalSpaceMB:1437
UsedSpaceMB:187
数据空间MB:169
我的数据也不是很大,以保证大于7GB的大小。
什么原因造成MB总大小和MB使用大小有如此大的差异,是否有减少MB大小的方法?
使用SQL Management Studio缩小数据库并没有帮助。
.mdf文件占用了7.6 GB的空间。日志文件非常小(大约12MB)。 – SVK
然后,我打赌在预防措施。不让数据库文件在生产机器上自行增长是一种好的做法。 – TomTom
好的..现在文件上的自动增长选项设置为:“通过10%无限增长”。有什么方法可以纠正设置并减小数据文件的大小 – SVK