sql數(shù)據(jù)庫收縮風(fēng)險(xiǎn) 收縮數(shù)據(jù)庫與收縮文件有什么區(qū)別?
收縮數(shù)據(jù)庫與收縮文件有什么區(qū)別?刪除未使用的頁面可以減少數(shù)據(jù)庫中每個(gè)文件的縮減。雖然數(shù)據(jù)庫引擎可以有效地重用空間,但在文件不需要多次壓縮原始大小之后,還是有必要對其進(jìn)行收縮。數(shù)據(jù)和事務(wù)日志文件都可以減
收縮數(shù)據(jù)庫與收縮文件有什么區(qū)別?
刪除未使用的頁面可以減少數(shù)據(jù)庫中每個(gè)文件的縮減。雖然數(shù)據(jù)庫引擎可以有效地重用空間,但在文件不需要多次壓縮原始大小之后,還是有必要對其進(jìn)行收縮。數(shù)據(jù)和事務(wù)日志文件都可以減少(收縮)??梢猿山M或單獨(dú)手動(dòng)收縮數(shù)據(jù)庫文件,也可以將數(shù)據(jù)庫設(shè)置為按指定的間隔自動(dòng)收縮。文件總是從頭到尾縮小。例如,如果有一個(gè)5GB的文件,并且目標(biāo)是在DBCC shrink file語句中設(shè)置的。如果大小設(shè)置為4GB,則數(shù)據(jù)庫引擎將從文件的最后1GB釋放盡可能多的空間。如果文件的已發(fā)布部分包含已使用的頁面,則數(shù)據(jù)庫引擎首先將這些頁面放置在文件的保留部分。您只能將數(shù)據(jù)庫縮小到?jīng)]有剩余可用空間的程度。例如,如果一個(gè)5GB的數(shù)據(jù)庫有4GB的數(shù)據(jù),而目標(biāo)數(shù)據(jù)庫的大小被指定為3gb,則只能釋放1GB的數(shù)據(jù)。自動(dòng)數(shù)據(jù)庫收縮將自動(dòng)當(dāng)“收縮數(shù)據(jù)庫”選項(xiàng)設(shè)置為“開”時(shí),數(shù)據(jù)庫引擎將使用可用空間自動(dòng)收縮數(shù)據(jù)庫。可以使用alter database語句設(shè)置此選項(xiàng)。默認(rèn)情況下,此選項(xiàng)設(shè)置為“禁用”。數(shù)據(jù)庫引擎定期檢查每個(gè)數(shù)據(jù)庫的空間使用情況。如果將“收縮”選項(xiàng)設(shè)置為“開”時(shí)數(shù)據(jù)庫的“自動(dòng)”,則數(shù)據(jù)庫引擎將減小數(shù)據(jù)庫中文件的大小。活動(dòng)在后臺執(zhí)行,不影響數(shù)據(jù)庫中的用戶活動(dòng)。