Базы данных могут быстро увеличиваться в размере по мере использования, что иногда снижает их быстродействие. Они также могут иногда стать поврежденными или поврежденными. Чтобы предотвратить или устранить эти проблемы, можно использовать команду "Сжатие и восстановление базы данных ". Процесс сжатия не сжимает данные — он уменьшает файл базы данных, убирая неиспользуемое пространство. Команда Сжать и восстановить базу данных также поможет улучшить производительность базы данных.
Совет . Разделение базы данных помогает предотвратить повреждение файлов базы данных и ограничить потерю данных, сохраняя данные в отдельном файле, к которому пользователи не обращаются напрямую.
Способы сжатия и восстановления базы данных
Существует несколько подходов к сжатию и исправлению базы данных. Обычной практикой является автоматическое сжатие и восстановление базы данных при ее закрытии. Кроме того, вы можете вручную выполнить команду "Сжатие и восстановление базы данных " при наличии открытой базы данных и в неоткрытой базе данных.
Подготовка
Перед началом операции сжатия и восстановления выполните следующие действия.
-
Создание резервной копии базы данных В ходе восстановления 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 помечает файл базы данных как поврежденный. Файл можно восстановить, но после восстановления некоторые данные могут отсутствовать.
См. также
Защита данных с помощью резервного копирования и восстановления