每次打开时数据库都会增大

每次打开时数据库都会增大

我建立了一个包含几个表的小型 Access 数据库。数据存储在链接到数据库的几个 SharePoint 列表中(因此列表的更改会反映在数据库中),Access 文件本身存储在 SharePoint 服务器上。文件格式为 .accdb。

打开文件后,Access 会提示将更改保存到服务器。由于数据存储在文件本身之外,因此文件内容本身通常不会发生任何更改 — 除非有人修改查询或报告,这种情况很少见。(我知道 Jet 数据库引擎将单纯的打开操作视为修改,因此没有真正的只读模式。)

最初文件大小约为 8-9 MB。随着时间的推移,文件大小不断增长,一度突破 100 MB 大关。在对数据库运行“压缩和修复”后,大小又回到了原来的 8-9 MB。

用户的电脑上同时运行着 Access 2010 和 2013。

什么原因导致 Access 像这样增大文件大小?我该如何防止这种情况发生?

答案1

直接取自 support.office.com:

数据库文件随着使用而增大

随着您添加和更新数据并更改其设计,数据库文件会变得越来越大。其中一些增长来自新数据,但有些来自其他来源:

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

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

随着数据库文件被临时对象和已删除对象的残留内容填满,其性能可能会下降。对象打开速度可能会变慢,查询运行时间可能会比平时更长,并且典型操作通常似乎需要更长时间。

尽管您明确指出您的 Access 数据库只是“查询”外部源并且仅仅是一个“前端”,但我猜它仍然会创建大量临时数据,这些数据会存储到文件中并且不会被清理。

我想知道是否值得执行计划任务来压缩和修复数据库 - 但您需要确保没有人连接到数据库(例如,在一天结束时将其计算机锁定并且在 Access 中打开文件)否则压缩和修复将不会执行。

相关内容