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

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

Access > Access 基礎(chǔ)知識(shí)

 

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

blueup_CLV全部顯示

bluedrop_CLV全部隱藏

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

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

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

本文內(nèi)容


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

hrefIcon_ZA10069439 開始之前

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 注釋    可以設(shè)置一個(gè)數(shù)據(jù)庫選項(xiàng),從而在每次關(guān)閉特定的數(shù)據(jù)庫時(shí)自動(dòng)運(yùn)行“壓縮和修復(fù)數(shù)據(jù)庫”命令。如果您是某數(shù)據(jù)庫的唯一用戶,則應(yīng)設(shè)置此選項(xiàng)。在多用戶數(shù)據(jù)庫中,您可能并不想設(shè)置此選項(xiàng),因?yàn)樗鼤?huì)暫時(shí)中斷數(shù)據(jù)庫的可用性。

TopPageIcon_CLV 返回頁首

開始之前

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

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

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

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

壓縮和修復(fù)操作需要以獨(dú)占方式訪問數(shù)據(jù)庫文件,因?yàn)樵摬僮骺赡軙?huì)中斷其他用戶。當(dāng)您計(jì)劃進(jìn)行壓縮和修復(fù)操作時(shí),應(yīng)通知其他用戶,以使他們可以避開在該時(shí)間內(nèi)使用數(shù)據(jù)庫。

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

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

TopPageIcon_CLV 返回頁首

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

hrefIcon_ZA10069439 關(guān)閉數(shù)據(jù)庫時(shí)自動(dòng)執(zhí)行壓縮和修復(fù)

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


關(guān)閉數(shù)據(jù)庫時(shí)自動(dòng)執(zhí)行壓縮和修復(fù)

如果要在數(shù)據(jù)庫關(guān)閉時(shí)自動(dòng)執(zhí)行壓縮和修復(fù),可以選擇“關(guān)閉時(shí)壓縮”數(shù)據(jù)庫選項(xiàng)。

 注釋    設(shè)置此選項(xiàng)只會(huì)影響當(dāng)前打開的數(shù)據(jù)庫。對于要自動(dòng)壓縮和修復(fù)的每個(gè)數(shù)據(jù)庫,必須單獨(dú)設(shè)置此選項(xiàng)。

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

TopPageIcon_CLV 返回頁首

手動(dòng)壓縮和修復(fù)數(shù)據(jù)庫

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

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

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

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

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

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

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

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

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

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

C:\Program Files\Microsoft Office\Office14

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

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

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

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

3.在右引號后面鍵入一個(gè)空格,然后鍵入要壓縮和修復(fù)的數(shù)據(jù)庫的完整路徑。如果該路徑包含空格,請?jiān)谠撀窂絻蓚?cè)添加引號。再鍵入一個(gè)空格,然后鍵入 /compact

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

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

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

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

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

TopPageIcon_CLV 返回頁首