2010-11-15 54 views
4

在對錶執行大量刪除之後,我應該採取哪些步驟來確保這些行佔用的空間重新分配回SQL Server?在該表上運行統計信息等?從表中大量刪除後?

也許我不需要做任何事情,只是想知道如果有任何後續步驟。

感謝,

小號

+1

更新統計信息,檢查索引,看看他們是否應該重新組織或重建... – 2010-11-15 19:42:42

回答

6

的空間將自動返回到SQL Server。你不必做任何事情。

現在,由於記錄事務,數據庫的大小將相同,加上日誌文件的增長。但是,在內部,sql server知道它仍然有空間可供玩耍。

除此之外,您可能會想要更新統計信息並根據需要重新生成任何索引。但是,這應該是您正常的夜間維護計劃的一部分。

更新:
我只是想添加一件事。有些人喜歡收縮他們的數據庫,以便在大刪除後收回空間。除非你別無選擇,否則不要這樣做。除了花費的時間和服務器開銷之外,問題是如果數據庫必須再次增長,那麼SQL Server必須重新分配空間。這個操作對於SQL服務器來說非常耗時。如果您知道數據庫實際需要的大小,只需將其分配,然後保持獨立。

+0

謝謝克里斯!我很欣賞這些信息。 – scarpacci 2010-11-15 19:44:46

+0

其實它可能需要時間。空間釋放是一個後臺任務;) – TomTom 2010-11-15 19:53:00

+0

@TomTom:你是正確的,它不會立即發生。 – NotMe 2010-11-15 19:57:52