Файлы баз данных могут быстро увеличиваться по мере использования, что иногда снижает производительность. Они также могут иногда повреждаться или повреждаться. Чтобы предотвратить или устранить эти проблемы, можно использовать команду "Сжать и восстановить базу данных ". Процесс сжатия не сжимает данные — он уменьшает файл базы данных, убирая неиспользуемое пространство. Команда Сжать и восстановить базу данных также поможет улучшить производительность базы данных.
Совет. Разделение базы данных помогает предотвратить повреждение файлов базы данных и ограничить потерю данных, сохраняя данные в отдельном файле, к которому пользователи не обращаются напрямую.
Способы сжатия и восстановления базы данных
Существует несколько подходов к сжатию и восстановлению базы данных. Обычно база данных сжимается и восстанавливается автоматически при ее закрытии. Кроме того, можно вручную выполнить команду "Сжать и восстановить базу данных ", как в открытой базе данных, так и в неоткрытой базе данных.
Подготовка
Перед началом сжатия и ремонта выполните следующие действия.
- Создание резервной копии базы данных В процессе восстановления Access может обрезать некоторые данные из поврежденных таблиц. Иногда эти данные можно восстановить из резервной копии. В дополнение к обычной стратегии резервного копирования следует создавать резервную копию непосредственно перед использованием команды "Сжать и восстановить базу данных ". Дополнительные сведения см. в статье "Защита данных с помощью резервного копирования и восстановления".
-
Получите эксклюзивный доступ к базе данных Для сжатия и восстановления требуется монопольный доступ к файлу базы данных, так как это может нарушить работу других пользователей. Перед выполнением сжатия и восстановления базы данных следует уведомить других пользователей, чтобы они не работали с ней в это время. Дополнительные сведения см. в статье Открытие существующей базы данных Access.
Сообщите пользователям, как долго они не должны работать с базой данных. Если вы регулярно выполняете сжатие и восстановление, отмечайте, как долго выполняется эта операция. Это позволит более точно оценить, как долго пользователи не должны работать с базой данных. - Получение достаточных разрешений для файла базы данных Если у вас нет достаточных разрешений и требуется сжать и восстановить базу данных, обратитесь к своему системному администратору за помощью. Дополнительные сведения см. в статье "Изменения общего доступа к файлам по сети в Windows".
Автоматическое сжатие и восстановление базы данных при ее закрытии
Чтобы автоматически сжимать и восстанавливать базу данных при ее закрытии, установите флажок Сжимать при закрытии. Этот параметр влияет только на открытую в данный момент базу данных. Установите этот параметр отдельно для каждой базы данных, которую нужно автоматически сжимать и восстанавливать. В многопользовательских базах данных этот параметр включать не стоит, поскольку из-за него может кратковременно нарушаться доступ к базе данных.
- Выберите "Параметрыфайла>".
- В диалоговом окне "Параметры Access " выберите пункт "Текущая база данных".
- В разделе Параметры приложений установите флажок Сжимать при закрытии.
- Нажмите кнопку ОК.
- Закройте и снова откройте базу данных, чтобы параметр вступил в силу.
Сжатие и восстановление открытой базы данных вручную
- Выберите"Сведения о файле>>" & "Восстановить базу данных".
В том же месте будет создана копия сжатой и восстановленной базы данных.
Сжатие и восстановление неоткрытой базы данных вручную
Если не удается открыть базу данных Access напрямую, выполните указанные ниже действия.
- Убедитесь, что в настоящий момент файл базы данных не работает с другими пользователями.
- Запустите Access.
- На странице "Шаблоны" дважды щелкните пустую базу данных.
- Выберите "Закрыть файл>".
- Выберите Инструменты >для работы с базами данных— сжатие и восстановление базы данных.
- В диалоговом окне База данных для сжатия перейдите к базе данных, которую вы хотите сжать и восстановить, и щелкните ее два раза.
В том же месте будет создана копия сжатой и восстановленной базы данных.
Сжатие и восстановление поврежденной базы данных при появлении запроса Access
Если при открытии поврежденного файла базы данных Access предлагает сжать и восстановить базу данных, выберите "Да". Могут произойти два события:
- Если Access полностью восстановит поврежденный файл, отобразится сообщение об успешном восстановлении и необходимости проверить содержимое базы данных, чтобы убедиться в правильности данных.
- Если Access работает успешно только частично, он отслеживает объекты базы данных, которые не удалось восстановить, в системной таблице с именем MSysCompactErrors. Таблица MSysCompactErrors откроется в режиме таблицы. Если у вас есть резервная копия, созданная перед повреждением базы данных, можно воспользоваться таблицей MSysCompactErrors для определения объектов, которые необходимо импортировать в восстановленную базу данных. Чтобы отобразить системные таблицы, щелкните правой кнопкой мыши заголовок окна навигации, а затем в диалоговом окне "Параметры навигации " выберите команду "Показать системные объекты".
Преимущества сжатия и восстановления базы данных
Команда Сжать и восстановить базу данных помогает предотвратить и исправить следующие проблемы, которые могут возникнуть с базой данных: увеличение размеров файлов по мере использования и повреждение файлов.
Увеличение размера файлов базы данных по мере использования
По мере добавления и обновления данных, а также изменения их структуры размер файла базы данных увеличивается. Это происходит отчасти из-за добавления новых данных, а отчасти — по другим причинам:
- Access создает временные скрытые объекты для выполнения различных задач. Иногда временные объекты остаются в базе данных, когда они уже не нужны.
- При удалении объекта базы данных занимаемое им место на диске автоматически не освобождается — файл базы данных по-прежнему занимает место на диске даже после удаления.
По мере заполнения файла базы данных остатками временных и удаленных объектов его быстродействие может снизиться. Объекты могут открываться медленнее, а запросы и операции — выполняться дольше обычного.
Повреждение файлов базы данных
В определенных случаях файл базы данных может быть поврежден. Если файл базы данных совместно используется по сети и несколько пользователей одновременно работают с ним напрямую, этот файл имеет небольшой риск повреждения. Риск повреждения несколько возрастает, если пользователи часто редактируют данные в полях с длинным текстом, и этот риск со временем возрастает. Этот риск можно снизить с помощью команды "Сжать и восстановить базу данных ".
Часто этот тип повреждения возникает из-за проблемы с модулем Visual Basic для приложений (VBA) и не представляет риска потери данных. Однако они могут привести к нарушению структуры базы данных, например потере кода VBA или ошибкам форм.
Иногда повреждение файла базы данных приводит к потере данных. Обычно эта потеря ограничивается потерей последнего действия одного пользователя, то есть единичного изменения данных. Когда пользователь начинает изменять данные и изменение прерывается (например, из-за отказа сетевой службы), Access помечает файл базы данных как поврежденный. Файл можно восстановить, но после восстановления некоторые данные могут отсутствовать.
См. также
Защита данных с помощью резервного копирования и восстановления