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