Сжатие и восстановление базы данных

Применяется к
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Файлы баз данных могут быстро увеличиваться по мере использования, что иногда снижает производительность. Они также могут иногда повреждаться или повреждаться. Чтобы предотвратить или устранить эти проблемы, можно использовать команду "Сжать и восстановить базу данных ". Процесс сжатия не сжимает данные — он уменьшает файл базы данных, убирая неиспользуемое пространство. Команда Сжать и восстановить базу данных также поможет улучшить производительность базы данных.

Совет. Разделение базы данных помогает предотвратить повреждение файлов базы данных и ограничить потерю данных, сохраняя данные в отдельном файле, к которому пользователи не обращаются напрямую.

В этой статье

Способы сжатия и восстановления базы данных
Перед началом работы
Сжатие и восстановление базы данных при ее закрытии
Сжатие и восстановление открытой базы данных
Сжатие и восстановление неоткрытой базы данных
Сжатие и восстановление поврежденной базы данных по запросу Access

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

Способы сжатия и восстановления базы данных

Существует несколько подходов к сжатию и восстановлению базы данных. Обычно база данных сжимается и восстанавливается автоматически при ее закрытии. Кроме того, можно вручную выполнить команду "Сжать и восстановить базу данных ", как в открытой базе данных, так и в неоткрытой базе данных.

Подготовка

Перед началом сжатия и ремонта выполните следующие действия.

  • Создание резервной копии базы данных В процессе восстановления Access может обрезать некоторые данные из поврежденных таблиц. Иногда эти данные можно восстановить из резервной копии. В дополнение к обычной стратегии резервного копирования следует создавать резервную копию непосредственно перед использованием команды "Сжать и восстановить базу данных ". Дополнительные сведения см. в статье "Защита данных с помощью резервного копирования и восстановления".
  • Получите эксклюзивный доступ к базе данных Для сжатия и восстановления требуется монопольный доступ к файлу базы данных, так как это может нарушить работу других пользователей. Перед выполнением сжатия и восстановления базы данных следует уведомить других пользователей, чтобы они не работали с ней в это время. Дополнительные сведения см. в статье Открытие существующей базы данных Access.
    Сообщите пользователям, как долго они не должны работать с базой данных. Если вы регулярно выполняете сжатие и восстановление, отмечайте, как долго выполняется эта операция. Это позволит более точно оценить, как долго пользователи не должны работать с базой данных.
  • Получение достаточных разрешений для файла базы данных Если у вас нет достаточных разрешений и требуется сжать и восстановить базу данных, обратитесь к своему системному администратору за помощью. Дополнительные сведения см. в статье "Изменения общего доступа к файлам по сети в Windows".

К началу страницы

Автоматическое сжатие и восстановление базы данных при ее закрытии

Чтобы автоматически сжимать и восстанавливать базу данных при ее закрытии, установите флажок Сжимать при закрытии. Этот параметр влияет только на открытую в данный момент базу данных. Установите этот параметр отдельно для каждой базы данных, которую нужно автоматически сжимать и восстанавливать. В многопользовательских базах данных этот параметр включать не стоит, поскольку из-за него может кратковременно нарушаться доступ к базе данных.

  1. Выберите "Параметрыфайла>".
  2. В диалоговом окне "Параметры Access " выберите пункт "Текущая база данных".
  3. В разделе Параметры приложений установите флажок Сжимать при закрытии.
  4. Нажмите кнопку ОК.
  5. Закройте и снова откройте базу данных, чтобы параметр вступил в силу.

К началу страницы

Сжатие и восстановление открытой базы данных вручную

  • Выберите"Сведения о файле>>" & "Восстановить базу данных".
    В том же месте будет создана копия сжатой и восстановленной базы данных.

К началу страницы

Сжатие и восстановление неоткрытой базы данных вручную

Если не удается открыть базу данных Access напрямую, выполните указанные ниже действия.

  1. Убедитесь, что в настоящий момент файл базы данных не работает с другими пользователями.
  2. Запустите Access.
  3. На странице "Шаблоны" дважды щелкните пустую базу данных.
  4. Выберите "Закрыть файл>".
  5. Выберите Инструменты >для работы с базами данных— сжатие и восстановление базы данных.
  6. В диалоговом окне База данных для сжатия перейдите к базе данных, которую вы хотите сжать и восстановить, и щелкните ее два раза.

В том же месте будет создана копия сжатой и восстановленной базы данных.

К началу страницы

Сжатие и восстановление поврежденной базы данных при появлении запроса Access

Если при открытии поврежденного файла базы данных Access предлагает сжать и восстановить базу данных, выберите "Да". Могут произойти два события:

  • Если Access полностью восстановит поврежденный файл, отобразится сообщение об успешном восстановлении и необходимости проверить содержимое базы данных, чтобы убедиться в правильности данных.
  • Если Access работает успешно только частично, он отслеживает объекты базы данных, которые не удалось восстановить, в системной таблице с именем MSysCompactErrors. Таблица MSysCompactErrors откроется в режиме таблицы. Если у вас есть резервная копия, созданная перед повреждением базы данных, можно воспользоваться таблицей MSysCompactErrors для определения объектов, которые необходимо импортировать в восстановленную базу данных. Чтобы отобразить системные таблицы, щелкните правой кнопкой мыши заголовок окна навигации, а затем в диалоговом окне "Параметры навигации " выберите команду "Показать системные объекты".

К началу страницы

Преимущества сжатия и восстановления базы данных

Команда Сжать и восстановить базу данных помогает предотвратить и исправить следующие проблемы, которые могут возникнуть с базой данных: увеличение размеров файлов по мере использования и повреждение файлов.

Увеличение размера файлов базы данных по мере использования

По мере добавления и обновления данных, а также изменения их структуры размер файла базы данных увеличивается. Это происходит отчасти из-за добавления новых данных, а отчасти — по другим причинам:

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

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

К началу страницы

Повреждение файлов базы данных

В определенных случаях файл базы данных может быть поврежден. Если файл базы данных совместно используется по сети и несколько пользователей одновременно работают с ним напрямую, этот файл имеет небольшой риск повреждения. Риск повреждения несколько возрастает, если пользователи часто редактируют данные в полях с длинным текстом, и этот риск со временем возрастает. Этот риск можно снизить с помощью команды "Сжать и восстановить базу данных ".

Часто этот тип повреждения возникает из-за проблемы с модулем Visual Basic для приложений (VBA) и не представляет риска потери данных. Однако они могут привести к нарушению структуры базы данных, например потере кода VBA или ошибкам форм.

Иногда повреждение файла базы данных приводит к потере данных. Обычно эта потеря ограничивается потерей последнего действия одного пользователя, то есть единичного изменения данных. Когда пользователь начинает изменять данные и изменение прерывается (например, из-за отказа сетевой службы), Access помечает файл базы данных как поврежденный. Файл можно восстановить, но после восстановления некоторые данные могут отсутствовать.

См. также

Защита данных с помощью резервного копирования и восстановления

Настройка общих параметров пользователя в Access