通過使用“壓縮和修復數(shù)據(jù)庫”幫助防止和更正數(shù)據(jù)庫文件問題

此頁沒有內(nèi)容條目
內(nèi)容

Access > Access 基礎知識

 

通過使用“壓縮和修復數(shù)據(jù)庫”幫助防止和更正數(shù)據(jù)庫文件問題

blueup_CLV全部顯示

bluedrop_CLV全部隱藏

數(shù)據(jù)庫文件在使用過程中可能會迅速增大,它們有時會影響性能, 有時也可能被損壞。在 Microsoft Office Access 中,您可以使用“壓縮和修復數(shù)據(jù)庫”命令來防止或修復這些問題。

本文并不解釋如何備份或還原數(shù)據(jù)庫。在請參閱部分中可以找到指向詳細信息的鏈接。

 注釋    在壓縮和修復已經(jīng)發(fā)布的 Web 數(shù)據(jù)庫時,在壓縮和修復完成后,應同步數(shù)據(jù)庫。壓縮和修復可能不會修正已發(fā)布的 Web 數(shù)據(jù)庫可能發(fā)生的所有問題。

本文內(nèi)容


hrefIcon_ZA10069439 壓縮和修復數(shù)據(jù)庫的原因

hrefIcon_ZA10069439 開始之前

hrefIcon_ZA10069439 壓縮和修復數(shù)據(jù)庫


壓縮和修復數(shù)據(jù)庫的原因

本概述介紹如何使用“壓縮和修復數(shù)據(jù)庫”命令來幫助防止和更正以下可能影響數(shù)據(jù)庫的問題:文件在使用過程中不斷變大;文件已損壞。

數(shù)據(jù)庫文件在使用過程中不斷變大

隨著您不斷添加、更新數(shù)據(jù)以及更改數(shù)據(jù)庫設計,數(shù)據(jù)庫文件會變得越來越大。導致增大的因素不僅包括新數(shù)據(jù),還包括其他一些方面:

Access 會創(chuàng)建臨時的隱藏對象來完成各種任務。有時,Access 在不再需要這些臨時對象后仍將它們保留在數(shù)據(jù)庫中。
刪除數(shù)據(jù)庫對象時,系統(tǒng)不會自動回收該對象所占用的磁盤空間。也就是說,盡管該對象已被刪除,數(shù)據(jù)庫文件仍然使用該磁盤空間。

隨著數(shù)據(jù)庫文件不斷被遺留的臨時對象和已刪除對象所填充,其性能也會逐漸降低。其癥狀包括:對象可能打開得更慢,查詢可能比正常情況下運行的時間更長,各種典型操作通常似乎也需要使用更長時間。

 注釋    壓縮數(shù)據(jù)庫并不是壓縮數(shù)據(jù),而是通過清除未使用的空間來縮小數(shù)據(jù)庫文件。

數(shù)據(jù)庫文件可能已損壞

在某些特定的情況下,數(shù)據(jù)庫文件可能已損壞。如果數(shù)據(jù)庫文件通過網(wǎng)絡共享,且多個用戶同時直接處理該文件,則該文件發(fā)生損壞的風險將較小。如果這些用戶頻繁編輯“備注”字段中的數(shù)據(jù),將在一定程度上增大損壞的風險,并且該風險還會隨著時間的推移而增加??梢允褂?/span>“壓縮和修復數(shù)據(jù)庫”命令來降低此風險。

通常情況下,這種損壞是由于 VISUAL BASIC FOR APPLICATIONS (VBA) (VISUAL BASIC FOR APPLICATIONS (VBA):MICROSOFT VISUAL BASIC 的宏語言版本,用于編寫基于 MICROSOFT WINDOWS 的應用程序,內(nèi)置于多個 MICROSOFT 程序中。)模塊 (模塊:存儲在一起作為一個命名單元的聲明、語句和過程的集合。有兩種類型的模塊:標準模塊和類模塊。)問題導致的,并不存在丟失數(shù)據(jù)的風險。但是,這種損壞卻會導致數(shù)據(jù)庫設計受損,例如丟失 VBA 代碼或無法使用窗體。

有時,數(shù)據(jù)庫文件損壞也會導致數(shù)據(jù)丟失,但這種情況并不常見。在這種情況下,丟失的數(shù)據(jù)一般僅限于某位用戶的最后一次操作,即對數(shù)據(jù)的單次更改。當用戶開始更改數(shù)據(jù)而更改被中斷時(例如,由于網(wǎng)絡服務中斷),Access 便會將該數(shù)據(jù)庫文件標記為已損壞。此時可以修復該文件,但有些數(shù)據(jù)可能會在修復完成后丟失。

提示  通過拆分數(shù)據(jù)庫,可以將數(shù)據(jù)保存在用戶無法直接訪問的單獨文件中,從而有助于防止數(shù)據(jù)庫文件損壞并減少丟失的數(shù)據(jù)量。

Access 提示是否要修復已損壞的數(shù)據(jù)庫文件

當您嘗試打開已損壞的數(shù)據(jù)庫文件時,系統(tǒng)將提示您是否允許 Access 自動修復該文件。此外,您也可以使用“壓縮和修復數(shù)據(jù)庫”命令修復并打開已損壞的數(shù)據(jù)庫文件。

如果 Access 完全修復了已損壞的文件,它將顯示一條消息,說明已成功完成修復,并且您應檢查數(shù)據(jù)庫內(nèi)容以確保一切已恢復正常。

如果 Access 僅成功修復了部分內(nèi)容,它將跟蹤未能修復的數(shù)據(jù)庫對象,以便您決定是否需要從備份進行恢復。

 注釋    可以設置一個數(shù)據(jù)庫選項,從而在每次關閉特定的數(shù)據(jù)庫時自動運行“壓縮和修復數(shù)據(jù)庫”命令。如果您是某數(shù)據(jù)庫的唯一用戶,則應設置此選項。在多用戶數(shù)據(jù)庫中,您可能并不想設置此選項,因為它會暫時中斷數(shù)據(jù)庫的可用性。

TopPageIcon_CLV 返回頁首

開始之前

開始執(zhí)行壓縮和修復操作之前,請考慮執(zhí)行下列操作:

始終執(zhí)行備份  在修復過程中,Access 可能會截斷已損壞表中的某些數(shù)據(jù)。有時,您可以從備份來恢復此數(shù)據(jù)。除了定期備份策略外,還應該在使用“壓縮和修復數(shù)據(jù)庫”命令之前執(zhí)行備份??梢允褂?/span>“備份數(shù)據(jù)庫”命令來執(zhí)行備份:
單擊“Office 按鈕”。這將顯示 Outspace。
指向“正在保存”,然后在“高級”下單擊“備份數(shù)據(jù)庫”
自動壓縮和修復  除非您通過網(wǎng)絡與其他用戶共享一個數(shù)據(jù)庫文件,否則應將數(shù)據(jù)庫設置為自動壓縮和修復。
請注意系統(tǒng)恢復錯誤表  當 Access 無法修復已損壞數(shù)據(jù)庫文件中的全部對象時,它會在一個名為 MSysCompactErrors 的表中記下無法恢復的所有對象。如果存在錯誤,Access 會在數(shù)據(jù)表視圖 (數(shù)據(jù)表視圖:以行列格式顯示來自表、窗體、查詢、視圖或存儲過程中的數(shù)據(jù)的視圖。在數(shù)據(jù)表視圖中,可以編輯字段、添加和刪除數(shù)據(jù),以及搜索數(shù)據(jù)。)中打開 MSysCompactErrors 表。

如果您的數(shù)據(jù)庫備份是在數(shù)據(jù)庫損壞之前創(chuàng)建的,則可以使用 MSysCompactErrors 表來確定要將哪些對象從數(shù)據(jù)庫備份導入到修復的數(shù)據(jù)庫中。

獲取對數(shù)據(jù)庫的獨占訪問權限以使用“壓縮和修復數(shù)據(jù)庫”命令  如果您是數(shù)據(jù)庫的唯一用戶,則可以跳過本部分中的其余內(nèi)容,而直接轉(zhuǎn)到壓縮和修復數(shù)據(jù)庫。

壓縮和修復操作需要以獨占方式訪問數(shù)據(jù)庫文件,因為該操作可能會中斷其他用戶。當您計劃進行壓縮和修復操作時,應通知其他用戶,以使他們可以避開在該時間內(nèi)使用數(shù)據(jù)庫。

請告訴其他用戶需要停止使用數(shù)據(jù)庫的時間長短。如果您是定期進行壓縮和恢復操作,請記錄此操作所需的時間。這樣,您就可以做出更準確的估計,以供其他用戶參考。

獲取足夠的權限 (權限:一組屬性,用于指定用戶對數(shù)據(jù)庫中的數(shù)據(jù)或?qū)ο笏鶕碛械脑L問權限類型。)來進行壓縮和修復操作  如果使用早期版本的數(shù)據(jù)庫文件,并且您是工作組 (工作組:多用戶環(huán)境中的一組用戶,其中的成員共享數(shù)據(jù)和同一個工作組信息文件。)的成員,則可能無法獨立壓縮和修復數(shù)據(jù)庫。如果您需要壓縮和修復數(shù)據(jù)庫,但沒有足夠的權限,請與工作組管理員聯(lián)系以獲取幫助。

TopPageIcon_CLV 返回頁首

壓縮和修復數(shù)據(jù)庫

hrefIcon_ZA10069439 關閉數(shù)據(jù)庫時自動執(zhí)行壓縮和修復

hrefIcon_ZA10069439 手動壓縮和修復數(shù)據(jù)庫


關閉數(shù)據(jù)庫時自動執(zhí)行壓縮和修復

如果要在數(shù)據(jù)庫關閉時自動執(zhí)行壓縮和修復,可以選擇“關閉時壓縮”數(shù)據(jù)庫選項。

 注釋    設置此選項只會影響當前打開的數(shù)據(jù)庫。對于要自動壓縮和修復的每個數(shù)據(jù)庫,必須單獨設置此選項。

1.單擊“Office 按鈕”。這將顯示 Outspace。
2.在 Outspace 的左窗格中,單擊“選項”。
3.“Access 選項”對話框中,單擊“當前數(shù)據(jù)庫”。
4.“應用程序選項”下,選中“關閉時壓縮”復選框。

TopPageIcon_CLV 返回頁首

手動壓縮和修復數(shù)據(jù)庫

除了使用“關閉時壓縮”數(shù)據(jù)庫選項外,您還可以手動運行“壓縮和修復數(shù)據(jù)庫”命令。無論數(shù)據(jù)庫是否已經(jīng)打開,均可以對其運行該命令。此外,還可以創(chuàng)建對特定數(shù)據(jù)庫文件運行“壓縮和修復數(shù)據(jù)庫”命令的桌面快捷方式。

壓縮和修復已打開的數(shù)據(jù)庫

 注釋    如果其他用戶當前也在使用該數(shù)據(jù)庫文件,則無法執(zhí)行壓縮和修復操作。

單擊“Office 按鈕”。這將顯示 Outspace。
指向“信息”,然后單擊“壓縮和修復數(shù)據(jù)庫”。

壓縮和修復未打開的數(shù)據(jù)庫

 注釋    如果其他用戶當前正在使用該數(shù)據(jù)庫文件,則無法執(zhí)行壓縮和修復操作。當您進行壓縮和修復操作時,其他任何用戶均無法使用該數(shù)據(jù)庫文件。

1.啟動 Access,但不要打開數(shù)據(jù)庫。
2.指向“信息”,然后單擊“壓縮和修復數(shù)據(jù)庫”。
3.“壓縮源數(shù)據(jù)庫”對話框中,定位到要壓縮和修復的數(shù)據(jù)庫,然后雙擊它。

創(chuàng)建壓縮和修復特定數(shù)據(jù)庫的桌面快捷方式

您可以在桌面上創(chuàng)建一個可用于壓縮和修復特定數(shù)據(jù)庫的快捷方式。

開始之前,請驗證 Msaccess.exe 文件在您計算機上所處的位置。Msaccess.exe 文件通常位于以下文件夾中:

C:\Program Files\Microsoft Office\Office14

如果在該位置找不到 Msaccess.exe 文件,請搜索該文件并記下它的完整路徑。

創(chuàng)建桌面快捷方式

1.在桌面上單擊右鍵,指向“新建”,然后單擊快捷菜單上的“快捷方式”
2.在“創(chuàng)建快捷方式向?qū)А钡谝豁撋系?/span>“請鍵入項目的位置”框中,鍵入一個雙引號 ("),輸入 Msaccess.exe 文件的完整路徑(包括文件名),然后鍵入另一個雙引號。(您也可以單擊“瀏覽”來定位并選擇文件,此時會自動添加雙引號。)

例如,鍵入:"C:\Program Files\Microsoft Office\Office14\msaccess.exe"

3.在右引號后面鍵入一個空格,然后鍵入要壓縮和修復的數(shù)據(jù)庫的完整路徑。如果該路徑包含空格,請在該路徑兩側(cè)添加引號。再鍵入一個空格,然后鍵入 /compact。

例如,鍵入:"C:\My Folder\My Database.accdb" /compact

4.單擊“下一步”。
5.“鍵入該快捷方式的名稱”框中,鍵入快捷方式的名稱,然后單擊“完成”。

該向?qū)?chuàng)建快捷方式并將其放在桌面上。

6.每當要壓縮和修復數(shù)據(jù)庫時,只需雙擊該快捷方式即可。

提示  若要將該桌面快捷方式添加到“開始”菜單中,請右鍵單擊該快捷方式,然后單擊快捷菜單上的“附到「開始」菜單”。

TopPageIcon_CLV 返回頁首