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