1

Я построил небольшую базу данных Access с несколькими таблицами. Данные хранятся в нескольких списках SharePoint, связанных с базой данных (поэтому изменения в списке отражаются в БД), а сам файл Access хранится на сервере SharePoint. Формат файла .accdb.

При его открытии Access предлагает сохранить изменения на сервере. Поскольку данные хранятся вне самого файла, обычно нет никаких изменений в самом содержимом файла - если кто-то не должен был изменять запрос или отчет, что редко. (Мне известно, что ядро базы данных Jet рассматривает простую операцию открытия как модификацию, поэтому в действительности нет режима только для чтения.)

Первоначально размер файла составлял 8–9 МБ. Со временем размер файла увеличивается, и в какой-то момент он преодолел барьер в 100 МБ. После запуска «Сжатия и восстановления» в базе данных размер вернулся к исходным 8–9 МБ.

Пользователи имеют доступ к Access 2010 и 2013 на своих ПК.

Что заставляет Access раздувать файл, как это, и как я могу предотвратить это?

1 ответ1

1

Взято напрямую с support.office.com:

Файлы базы данных растут с использованием

По мере добавления и обновления данных и изменения их дизайна файл базы данных становится больше. Часть этого роста происходит из новых данных, но некоторые из других источников:

  • Access создает временные, скрытые объекты для выполнения различных задач. Иногда эти временные объекты остаются в вашей базе данных после того, как Access больше не нуждается в них.

  • Когда вы удаляете объект базы данных, занимаемое этим объектом дисковое пространство не восстанавливается автоматически - файл базы данных по-прежнему использует это дисковое пространство, даже если объект удален.

Поскольку файл базы данных заполняется остатками временных и удаленных объектов, его производительность может ухудшиться. Объекты могут открываться медленнее, выполнение запросов может занять больше времени, чем обычно, а обычные операции, как правило, занимают больше времени.

Хотя вы специально заявляете, что ваша база данных Access просто "запрашивает" внешний источник и является всего лишь "внешним интерфейсом", тогда, я думаю, она по-прежнему создает много временных данных, которые хранятся в файле и не очищаются.

Интересно, может быть, стоит выполнить запланированное задание для сжатия и восстановления базы данных, но вам нужно убедиться, что никто не подключен к базе данных (например, оставьте свой компьютер заблокированным и файл откроется в Access в конце дня) в противном случае компакт и ремонт не будут выполняться.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .