使用壓縮及修復協助防止並修正資料庫檔案問題

套用到
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

資料庫檔案在使用過程中會快速成長,有時甚至會影響效能。 它們有時也會變得腐化或損壞。 你可以使用 壓縮(Compact)和修復資料庫(Repair Database )指令來預防或修復這些問題。 壓縮作業並不是壓縮您的資料;它只是刪除未使用的空間,以縮減資料庫檔案大小。 [壓縮及修復資料庫] 命令也有助於改善資料庫效能。

小技巧:分割資料庫 有助於防止資料庫檔案損壞,並透過將資料存放在使用者無法直接存取的獨立檔案中,減少資料遺失。

您想要做什麼?

壓縮與修復資料庫的方法
在你開始之前
— 資料庫 關閉時,請壓縮並修復
壓縮並修復你已開啟的資料庫
壓縮並修復未開啟的資料庫
當 Access 提示時,壓縮並修復損壞的資料庫

為什麼你應該壓縮並修復資料庫
資料庫檔案隨使用量成長
資料庫檔案可能會損壞

壓縮與修復資料庫的方法

壓縮與修復資料庫有多種方法。 常見做法是在資料庫關閉時自動壓縮並修復。 此外,你可以手動執行 「壓縮與修復資料庫 」指令,無論是在資料庫尚未開啟時。

開始之前

在開始小型化與維修作業前,請採取以下步驟:

  • 備份資料庫 在修復過程中,Access 可能會截斷受損資料表中的部分資料。 有時可以從備份中恢復這些資料。 除了一般的備份策略外,你應該在使用 壓縮與修復資料庫 指令前立即備份。 如需詳細資訊,請參閱使用備份與還原處理程序保護您的資料
  • 獲得資料庫的獨家存取權 compact 與修復作業需要對資料庫檔案的專屬存取權,因為此操作可能會干擾其他使用者。 當您計劃執行壓縮及修復作業時,應該通知其他使用者,讓他們可以避免在這段期間使用資料庫。 欲了解更多資訊,請參閱 開啟現有的存取資料庫
    告知使用者他們必須避免使用資料庫多久。 如果是定期執行壓縮及修復,請記錄其所花費的時間。 然後您可以更精確地估計,讓其他使用者知道應該避免使用資料庫多久。
  • 取得足夠的資料庫檔案權限 如果你沒有足夠的權限,需要壓縮和修復資料庫,請聯絡你的系統管理員尋求協助。 欲了解更多資訊,請參閱 Windows 網路檔案 分享變更

頁面頂端

關閉資料庫時自動壓縮及修復

如果想要在關閉資料庫時自動壓縮及修復,可以選取 [關閉資料庫時壓縮] 資料庫選項。 設定此選項只會影響目前開啟的資料庫。 為每個想要自動壓縮和修復的資料庫分別設定這個選項。 在多使用者資料庫中,不建議您設定此選項,因為它可能暫時中斷資料庫可用性。

  1. 選取 [檔案選項]>
  2. 存取選項 對話框中,選擇 「目前資料庫」。
  3. 選取 [應用程式選項] 底下的 [關閉資料庫時壓縮] 核取方塊。
  4. 選取 [確定]
  5. 關閉並重新開啟資料庫,這樣才能生效。

頁面頂端

手動壓縮並修復你已開啟的資料庫

  • 選擇>檔案資訊>壓縮 & 修復資料庫
    Access 會在同一位置建立壓縮與修復後的資料庫副本。

頁面頂端

手動壓縮並修復一個尚未開啟的資料庫

當你無法直接開啟 Access 資料庫時,請使用此程序。

  1. 確保目前沒有其他使用者正在使用該資料庫檔案。
  2. 啟動 Access。
  3. 在範本頁面,雙擊「 空白資料庫」。
  4. 選擇「 檔案>關閉」。
  5. 選擇資料庫 工具>壓縮並修復資料庫
  6. 在 [壓縮資料庫來源] 對話方塊中,瀏覽至您要壓縮及修復的資料庫並按兩下。

Access 會在同一位置建立壓縮與修復後的資料庫副本。

頁面頂端

當 Access 提示時,壓縮並修復損壞的資料庫

當你嘗試開啟一個損壞的資料庫檔案時,如果 Access 提示你要壓縮並修復資料庫,請選擇 「是」。 可能會發生兩種情況:

  • 如果 Access 完全修復損毀的檔案,它會顯示訊息,指出修復成功,且您應檢查資料庫內容,確保所有項目是正確的。
  • 若 Access 僅部分成功,則會在系統資料表中記錄無法修復的資料庫物件,名稱為 MSysCompactErrors。 存取時會在資料表檢視中開啟 MSysCompactErrors 表格。 若您擁有一份資料庫未損毀前的備份,可利用 MSysCompactErrors 資料表來決定要將哪些物件匯入您修復的資料庫。 要顯示系統資料表,請右鍵點擊導航標題列,然後在 導航選項 對話框中選擇 「顯示系統物件」。

頁面頂端

為什麼你應該壓縮並修復資料庫

此概觀說明使用 [壓縮及修復資料庫] 命令如何協助防止並修正有時會影響資料庫的下列問題:檔案大小隨著使用而增加,以及檔案損毀。

資料庫檔案隨著使用而增加

隨著您新增及更新資料,以及變更其設計,資料庫檔案會變得越來越大。 這樣的成長,有些是因為新資料,有些則來自其他來源︰

  • Access 會建立暫存、隱藏的物件,來完成各種工作。 有時,當 Access 不再需要之後,這些暫存物件會留在資料庫中。
  • 當您刪除資料庫物件時,並不會自動回收物件佔用的磁碟空間 - 資料庫檔案依然使用該磁碟空間,即使已刪除物件也一樣。

當您的資料庫檔案塞滿殘留的暫存及已刪除物件時,其效能可能會降低。 開啟物件會變得更慢,執行查詢可能需要比正常更長時間,而且一般作業通常似乎需要更長時間。

頁面頂端

資料庫檔案可能損毀

在特定情況下,資料庫檔案可能損毀。 如果透過網路共用資料庫檔案,而且多個使用者同時直接使用檔案,那麼該檔案就存在著損毀的小風險。 如果使用者經常編輯長文字欄位的資料,損壞風險會稍高,且風險會隨時間增加。 您可以藉著使用 [壓縮及修復資料庫] 命令來降低此風險。

此類損壞通常源自 Visual Basic for Applications (VBA) 模組的問題,且不構成資料遺失風險。 不過,此類型的損毀卻會造成資料庫設計損害的風險,例如遺失 VBA 程式碼或無法使用的表單。

少數情況下,資料庫檔損毀確實會導致資料遺失。 通常,此遺失僅限於一個使用者的上一個動作;也就是對資料的單一變更。 當使用者開始變更資料,而該變更遭到中斷 (例如因為網路服務中斷) 時,Access 會將該資料庫檔案標示為已損毀。 該檔案可以修復,但在修復完成之後,某些資料可能會遺失。

另請參閱

使用備份與還原來保護資料

在 Access 中設定一般使用者選項