Sql-Server
DBCC SHRINKFILE 是否優於 DBCC SHRINKDATABASE?
在 to 的文件中
DBCC SHRINKDATABASE
,Microsoft 警告要執行該命令,因為它的 i/o 成本很高。但是,在 to 的文件中
DBCC SHRINKFILE
,沒有這樣的警告。現在當我們使用簡單恢復並且基本上只有一個數據庫文件時,是執行好還是執行
DBCC SHRINKFILE
好DBCC SHRINKDATABASE
?
一個數據庫可以(並且是)由多個文件組成。因此,縮小數據庫將縮小它所組成的所有文件,而縮小文件則更加精細(正如 Tibor 指出的那樣)。因此,收縮數據庫將始終至少與僅收縮數據庫的特定文件一樣繁重或更重。
話雖如此,通常建議不要收縮,因為它們都是繁重的操作,通常這樣做是荒謬的,因為如果它們增長到一定規模,無論如何它們很可能很快就會恢復到那個規模,而且增長操作也很繁重。
他們最終都會做同樣的事情。但是 SHRINKFILE 更好,因為它可以讓您更好地控制。您決定要縮小哪個文件以及要縮小該文件的大小。