Sql-Server-2012

釋放 sql server 上的磁碟空間

  • May 6, 2019

假設我有一個 sql 數據庫伺服器,其磁碟空間如下:

D 盤:10GB(用於 MDF 文件)

E盤:10GB(用於LDF文件)

而且我在伺服器上只有一個數據庫,其中包含以下詳細資訊:

佔用的磁碟空間:9GB MDf 文件和 9GB LDF 文件。

10 個表,只有一個 Schema (dbo),任何表都沒有索引。

我做什麼:我刪除了數據庫上的所有表,但驅動器空間保持不變(9gb),兩個驅動器上只剩下 1GB。

我將如何回收 D 驅動器上的空間以及在不縮小 mdf 和不刪除數據庫的情況下執行此操作的最佳方法是什麼?顯然沒有增加任何磁碟空間。

縮小日誌文件會釋放空間,但我更擔心將空間恢復到保存 MDF 文件的 D 驅動器上。

如果您已刪除所有表,則可以刪除數據庫並重新創建它。它將使用model數據庫定義的預設大小和增長率創建。這些可能並不理想(我發現預設值在大多數情況下並不是特別有用),但您可以更改它們。

除非您在此數據庫上設置了很多東西(例如 Service Broker、大量使用者等),否則我認為這比養成增長/收縮增長/收縮增長/收縮的習慣要簡單。您應該將數據庫放在有足夠空間容納您要生成的數據的驅動器上,而不必一直縮小。收縮和增長都是代價高昂的事件,尤其是在慢 I/O 上。

此外,為了防止日誌增長到 9 GB(這對於您描述的數據來說似乎很荒謬),您應該進行完全恢復並且需要執行更頻繁的備份和日誌備份,或者您應該切換到簡單恢復。更多細節在這裡 - 它很長,但請閱讀全部

引用自:https://dba.stackexchange.com/questions/62074