簡體   English   中英

減少SQL Server數據庫大小

[英]Reduce SQL Server Database Size

我運行以下腳本來獲取數據庫中所有表的大小

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列中顯示出很大的差異。 TotalSpaceMB的總數= 7.6GB,UsedSpaceMB的總數= 1.1 GB。
例如:TableName:BOMS

行數:72747
總頁數:183960
二手頁面數:23999
數據頁:21752
總空間MB:1437
使用的空間MB:187
數據空間MB:169

我的數據也不大,不能保證大於7GB的大小。

MB的總大小和MB的已用大小之所以如此之大,可能是什么原因?是否有一種方法可以減小MB的總大小?

僅使用SQL Management Studio收縮數據庫並沒有幫助。

MB的總大小和MB的已用大小之所以如此之大可能是什么原因

  • 一次有數據。

  • 有人在創建數據庫時會考慮到備用,因為擴展是一項昂貴的操作。

還有-哪個文件? 例如,如果大多數空間位於日志文件中,則您的總和無關緊要-那么清理它們可能是一個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM