2011-05-27 72 views
2

我將大量表從SQL Server 2005數據庫中刪除。如何縮小數據庫 - 假設我沒有替換數據或表?我正在將東西歸檔到另一個數據庫。當永久刪除表時,回收SQL Server 2005數據庫中的空間

+0

您是否需要縮小數據庫?這很關鍵嗎?請參閱這些最近的答案,請http://stackoverflow.com/questions/1940533/does-sqls-delete-statement-truly-delete-data/1940569#1940569和http://stackoverflow.com/questions/6149605/freeing-up -space-in-sql-server/6150193#6150193 – gbn 2011-05-29 09:03:31

+0

是的。表格不再使用,空間不再需要。 – Caveatrob 2011-05-29 17:57:27

回答

6
DBCC Shrinkdatabase(0) -- Currently selected database 

DBCC Shrinkdatabase(<databasename>) -- Named database 

然而,萎縮的文件可能會破壞你的表,特別是大型onces,作爲表的內容得到移動有關文件中,所以一旦縮水它來整理好主意,你的表。這當然會使你的文件再次增長,但可能不會像你丟棄舊錶之前那麼大。 (Err,假定丟失的表包含大量的數據...)

0

您可以使用DBCC SHRINKDATABASE命令,也可以右鍵單擊數據庫Tasks,Shrink,Database。