Sql-Server

DBCC SHRINKFILE 是否優於 DBCC SHRINKDATABASE?

  • December 16, 2020

在 to 的文件中DBCC SHRINKDATABASE,Microsoft 警告要執行該命令,因為它的 i/o 成本很高。

但是,在 to 的文件中DBCC SHRINKFILE,沒有這樣的警告。

現在當我們使用簡單恢復並且基本上只有一個數據庫文件時,是執行好還是執行DBCC SHRINKFILEDBCC SHRINKDATABASE

一個數據庫可以(並且是)由多個文件組成。因此,縮小數據庫將縮小它所組成的所有文件,而縮小文件則更加精細(正如 Tibor 指出的那樣)。因此,收縮數據庫將始終至少與僅收縮數據庫的特定文件一樣繁重或更重。

話雖如此,通常建議不要收縮,因為它們都是繁重的操作,通常這樣做是荒謬的,因為如果它們增長到一定規模,無論如何它們很可能很快就會恢復到那個規模,而且增長操作也很繁重。

他們最終都會做同樣的事情。但是 SHRINKFILE 更好,因為它可以讓您更好地控制。您決定要縮小哪個文件以及要縮小該文件的大小。

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