2011-07-11 82 views
0

當IOdrop使用drop commit命令時,我無法看到在我的HDD中釋放的內存。SQL Server - 丟棄表不會減小數據庫的大小

我缺乏記憶力。如何刪除釋放內存到OS的表?

謝謝

+7

你的意思是「SQL Server使用我的內存」或「SQL Server正在使用我的磁盤空間」? – gbn

+1

至此你驗證了0回答。也許你應該回過頭來驗證答案,以便人們在信用到期時獲得信用。花一些時間在一個問題上,而沒有獲得某種回報,這種傷感很難過。 –

回答

2

我假設你在這裏的意思是硬盤空間。

這不是SQL Server的存儲方式。 SQL基本上告訴操作系統「我需要這個空間來存放我的數據庫文件」並且保留了很多空間。確切的大小取決於很多因素,包括最初創建的方式,自動增長設置等。

之後,它需要SQL來將數據庫維護在其擁有的文件中。它可以自動增長文件(自動增長),但通常不會自動縮小文件。收縮會導致碎片問題,並且是一個非常密集的IO過程。這必須手動運行。

簡而言之,您可以回收該空間的唯一方法就是縮小數據庫。如果您絕對必須這樣做,請在停機時間內執行此操作,並確保先縮減日誌文件,因爲您可以通過這樣做來恢復足夠的空間。