通过使用“压缩和修复数据库”帮助防止和更正数据库文件问题
Applies ToMicrosoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

使用数据库文件时,其数量会迅速增加,有时会影响性能。 它们偶尔也会损坏或损坏。 可以使用 “压缩和修复数据库” 命令来防止或修复这些问题。 压缩过程并不压缩数据,而是通过消除未使用的空间来缩小数据库文件。 “压缩和修复数据库”命令还帮助提高数据库的性能。

提示    拆分数据库 有助于防止数据库文件损坏,并将数据存储在用户不直接访问的单独文件中,从而限制数据丢失。

你想做什么? 压缩和修复数据库 的方法 — 开始之前 — 在数据库关闭时压缩和修复数据库 — 压缩并修复已打开的数据库 — 压缩并修复未打开的数据库 — 当 Access 提示时压缩并修复损坏的数据库

为何应压缩和修复数据库 数据库文件随使用而增长 — 数据库文件可能会损坏

压缩和修复数据库的方法

压缩和修复数据库的方法有多种。 一种常见的做法是在数据库关闭时自动压缩和修复数据库。 此外,当数据库打开时,还可以在未打开的数据库上手动运行 Compact and Repair Database 命令。

开始之前

在开始压缩和修复操作之前,执行以下操作:

  • 备份数据库    在修复过程中,Access 可能会截断损坏的表中的某些数据。 有时可以从备份中恢复此数据。 除了常规备份策略外,还应在使用 “压缩并修复数据库” 命令之前立即进行备份。 有关详细信息,请参阅 使用备份和还原过程保护数据

  • 获取对数据库的独占访问权限     压缩和修复操作需要独占访问数据库文件,因为操作可能会打扰其他用户。 如果计划运行压缩和修复操作,应通知其他用户,以便他们避免在该时间段内使用数据库。 有关详细信息,请参阅 打开现有的 Access 数据库

    通知用户应避免使用数据库多久。 如果定期运行压缩和修复操作,请记录所花的时间。 然后,可以作出更精确的估计,让其他用户知道应该避免使用数据库多久。

  • 获取对数据库的足够文件权限    如果没有足够的权限,并且需要压缩和修复数据库,请与系统管理员联系以获取帮助。 有关详细信息,请参阅 对 Windows 中通过网络进行文件共享的更改

返回页首

数据库关闭时自动进行压缩和修复

如果想要在数据库关闭时自动压缩和修复数据库,可选择“关闭时压缩”数据库选项。 设置此选项仅影响当前打开的数据库。 为要自动压缩和修复的每个数据库单独设置此选项。 在多用户数据库中,您可能不想设置此选项,因为它会暂时中断数据库的可用性。

  1. 选择“文件”>“选项”。

  2. 在“ 访问选项 ”对话框中,选择“ 当前数据库”。

  3. 在“应用程序选项”下,选择“关闭时压缩”复选框。

  4. 选择“确定”。

  5. 关闭并重新打开数据库,使选项生效。

返回页首

手动压缩并修复已打开的数据库

  • 选择 “文件 > 信息 > 压缩 & 修复数据库”。

    Access 在同一位置创建压缩和修复的数据库的副本。

返回页首

手动压缩和修复未打开的数据库

如果无法直接打开 Access 数据库,请使用此过程。

  1. 确保当前没有其他用户正在使用数据库文件。

  2. 启动 Access。

  3. 在模板页上,双击“ 空白数据库”。

  4. 选择“ 文件 > 关闭”。

  5. 选择“ 数据库工具 > 压缩和修复数据库”。

  6. 在“压缩数据库来源”对话框中,导航到要压缩和修复的数据库并进行双击。

Access 在同一位置创建压缩和修复的数据库的副本。

返回页首

当 Access 提示时压缩并修复损坏的数据库

尝试打开已损坏的数据库文件时,如果 Access 提示压缩并修复数据库,请选择“ ”。 可能会出现两种情况:

  • 如果 Access 完全修复了损坏的文件,将显示消息说明修复成功,并且你应检查数据库内容,确保所有内容均正常。

  • 如果 Access 仅部分成功,它会跟踪在名为 MSysCompactErrors 的系统表中无法修复的数据库对象。 Access 在数据表视图中打开 MSysCompactErrors 表。 如果你在数据库被损坏之前有一个以前的备份,你可以使用 MSysCompactErrors 表确定要将哪些对象导入到你修复的数据库中。 若要显示系统表,请右键单击导航标题栏,然后在“ 导航选项 ”对话框中,选择“ 显示系统对象”。

返回页首

为何应压缩和修复数据库

本概述介绍使用“压缩和修复数据库”命令可如何帮助防止并更正有时会影响数据库的以下问题:文件在使用过程中增大并损坏。

数据库文件在使用过程中增大

添加和更新数据,以及更改其设计时,数据库文件将变大。 这些增长有些来自新数据,有些来自其他来源:

  • Access 可创建临时的隐藏对象来完成各种任务。 Access 不再需要这些临时对象时,它们有时仍会保留在数据库中。

  • 删除数据库对象时,不会自动回收该对象占用的磁盘空间 - 即使对象被删除,数据库文件仍使用该磁盘空间。

随着其余临时对象和已删除对象逐渐占据数据库文件,会削减其性能。 对象打开速度可能变慢,查询运行时间可能比正常情况的长,而常规操作似乎普遍变慢。

返回页首

数据库文件可能损坏

在特定情况下,数据库文件可能会损坏。 如果一个数据库文件通过网络共享,并且多名用户同时直接处理文件,则该文件有可能会损坏。 如果用户经常编辑长文本字段中的数据,并且风险会随着时间的推移而增加,则损坏的风险会更大。 可使用“压缩和修复数据库”命令降低此风险。

通常,这种类型的损坏是由于 Visual Basic for Applications (VBA) 模块出现问题,并且不会造成数据丢失的风险。 然而,这类损坏确实可能损坏数据库设计,例如 VBA 代码丢失或窗体不可使用等。

数据库文件损坏很少会导致数据丢失。 通常,这种损失仅限于单个用户的最后一个操作,也就是对数据的单次更改。 当用户开始更改数据且更改被中断时(例如由于没有网络服务),Access 会将数据库文件标记为“已损坏”。 文件可被修复,但修复完成后,可能会丢失某些数据。

另请参阅

通过备份和还原过程保护数据

在 Access 中设置常规用户选项

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。