使用数据库文件时,其数量会迅速增加,有时会影响性能。 它们偶尔也会损坏或损坏。 可以使用 “压缩和修复数据库” 命令来防止或修复这些问题。 压缩过程并不压缩数据,而是通过消除未使用的空间来缩小数据库文件。 “压缩和修复数据库”命令还帮助提高数据库的性能。
提示 拆分数据库 有助于防止数据库文件损坏,并将数据存储在用户不直接访问的单独文件中,从而限制数据丢失。
你想做什么? 压缩和修复数据库 的方法 — 开始 之前 — 在数据库关闭 时压缩和修复数据库 — 压缩并修复已打开 的数据库 — 压缩并修复未打开 的数据库 — 当 Access 提示时压缩并修复损坏的数据库 |
为何应压缩和修复数据库 — 数据库文件随使用 而增长 — 数据库文件可能会损坏 |
压缩和修复数据库的方法
压缩和修复数据库的方法有多种。 一种常见的做法是在数据库关闭时自动压缩和修复数据库。 此外,当数据库打开时,还可以在未打开的数据库上手动运行 Compact and Repair Database 命令。
开始之前
在开始压缩和修复操作之前,执行以下操作:
-
备份数据库 在修复过程中,Access 可能会截断损坏的表中的某些数据。 有时可以从备份中恢复此数据。 除了常规备份策略外,还应在使用 “压缩并修复数据库” 命令之前立即进行备份。 有关详细信息,请参阅 使用备份和还原过程保护数据。
-
获取对数据库的独占访问权限 压缩和修复操作需要独占访问数据库文件,因为操作可能会打扰其他用户。 如果计划运行压缩和修复操作,应通知其他用户,以便他们避免在该时间段内使用数据库。 有关详细信息,请参阅 打开现有的 Access 数据库。
通知用户应避免使用数据库多久。 如果定期运行压缩和修复操作,请记录所花的时间。 然后,可以作出更精确的估计,让其他用户知道应该避免使用数据库多久。
-
获取对数据库的足够文件权限 如果没有足够的权限,并且需要压缩和修复数据库,请与系统管理员联系以获取帮助。 有关详细信息,请参阅 对 Windows 中通过网络进行文件共享的更改。
数据库关闭时自动进行压缩和修复
如果想要在数据库关闭时自动压缩和修复数据库,可选择“关闭时压缩”数据库选项。 设置此选项仅影响当前打开的数据库。 为要自动压缩和修复的每个数据库单独设置此选项。 在多用户数据库中,您可能不想设置此选项,因为它会暂时中断数据库的可用性。
-
选择“文件”>“选项”。
-
在“ 访问选项 ”对话框中,选择“ 当前数据库”。
-
在“应用程序选项”下,选择“关闭时压缩”复选框。
-
选择“确定”。
-
关闭并重新打开数据库,使选项生效。
手动压缩并修复已打开的数据库
-
选择 “文件 > 信息 > 压缩 & 修复数据库”。
Access 在同一位置创建压缩和修复的数据库的副本。
手动压缩和修复未打开的数据库
如果无法直接打开 Access 数据库,请使用此过程。
-
确保当前没有其他用户正在使用数据库文件。
-
启动 Access。
-
在模板页上,双击“ 空白数据库”。
-
选择“ 文件 > 关闭”。
-
选择“ 数据库工具 > 压缩和修复数据库”。
-
在“压缩数据库来源”对话框中,导航到要压缩和修复的数据库并进行双击。
Access 在同一位置创建压缩和修复的数据库的副本。
当 Access 提示时压缩并修复损坏的数据库
尝试打开已损坏的数据库文件时,如果 Access 提示压缩并修复数据库,请选择“ 是”。 可能会出现两种情况:
-
如果 Access 完全修复了损坏的文件,将显示消息说明修复成功,并且你应检查数据库内容,确保所有内容均正常。
-
如果 Access 仅部分成功,它会跟踪在名为 MSysCompactErrors 的系统表中无法修复的数据库对象。 Access 在数据表视图中打开 MSysCompactErrors 表。 如果你在数据库被损坏之前有一个以前的备份,你可以使用 MSysCompactErrors 表确定要将哪些对象导入到你修复的数据库中。 若要显示系统表,请右键单击导航标题栏,然后在“ 导航选项 ”对话框中,选择“ 显示系统对象”。
为何应压缩和修复数据库
本概述介绍使用“压缩和修复数据库”命令可如何帮助防止并更正有时会影响数据库的以下问题:文件在使用过程中增大并损坏。
数据库文件在使用过程中增大
添加和更新数据,以及更改其设计时,数据库文件将变大。 这些增长有些来自新数据,有些来自其他来源:
-
Access 可创建临时的隐藏对象来完成各种任务。 Access 不再需要这些临时对象时,它们有时仍会保留在数据库中。
-
删除数据库对象时,不会自动回收该对象占用的磁盘空间 - 即使对象被删除,数据库文件仍使用该磁盘空间。
随着其余临时对象和已删除对象逐渐占据数据库文件,会削减其性能。 对象打开速度可能变慢,查询运行时间可能比正常情况的长,而常规操作似乎普遍变慢。
数据库文件可能损坏
在特定情况下,数据库文件可能会损坏。 如果一个数据库文件通过网络共享,并且多名用户同时直接处理文件,则该文件有可能会损坏。 如果用户经常编辑长文本字段中的数据,并且风险会随着时间的推移而增加,则损坏的风险会更大。 可使用“压缩和修复数据库”命令降低此风险。
通常,这种类型的损坏是由于 Visual Basic for Applications (VBA) 模块出现问题,并且不会造成数据丢失的风险。 然而,这类损坏确实可能损坏数据库设计,例如 VBA 代码丢失或窗体不可使用等。
数据库文件损坏很少会导致数据丢失。 通常,这种损失仅限于单个用户的最后一个操作,也就是对数据的单次更改。 当用户开始更改数据且更改被中断时(例如由于没有网络服务),Access 会将数据库文件标记为“已损坏”。 文件可被修复,但修复完成后,可能会丢失某些数据。