Администрирование · 10 мин
Сколько длится тестирование и исправление базы 1С
Сколько времени занимает тестирование и исправление информационной базы 1С: от чего зависят сроки, этапы работы, риски и как правильно спланировать процедуру.
Тестирование и исправление информационной базы — штатная процедура обслуживания 1С, встроенная в конфигуратор. Она нужна, когда база начала выдавать ошибки, документы не проводятся, программа «падает» или после сбоя питания появились битые ссылки. Вопрос о длительности возникает почти всегда, потому что на время проверки пользователей обычно приходится выгонять из системы.
Точного универсального срока не существует: на небольшой файловой базе объёмом в несколько гигабайт вся процедура может занять от 15 минут до пары часов, а на крупной клиент-серверной базе с многолетней историей — от нескольких часов до суток и более. Практическое правило простое: чем больше база, чем медленнее дисковая подсистема и чем больше выбрано режимов проверки, тем длиннее окно обслуживания.
Ниже разберём, из чего складывается время, какие режимы проверки существуют, как прикинуть срок для конкретной базы и как сократить простой без риска для данных.
От чего зависит длительность тестирования и исправления
Главный фактор — объём информационной базы. Проверка читает фактически все таблицы, поэтому время растёт почти линейно с размером данных. База на 2 ГБ и база на 200 ГБ — это разница на порядки, а не «чуть дольше».
Второй фактор — режим работы. Файловая база на локальном диске SSD проверяется заметно быстрее, чем та же база на сетевом диске или на медленном RAID-массиве сервера. Для клиент-серверного варианта (MS SQL, PostgreSQL) скорость зависит от производительности СУБД, загруженности сервера и настроек индексов.
Третий фактор — состав выбранных проверок. Полный набор с реиндексацией, проверкой ссылочной целостности и сжатием таблиц занимает в разы больше времени, чем одиночная проверка логической целостности. Наконец, влияет количество реальных ошибок: каждое исправление (очистка битых ссылок, удаление объектов с нарушенной структурой) добавляет время.
Чем больше таблиц и записей, тем дольше чтение и проверка
Сетевой диск сильно замедляет файловую базу
Реиндексация и сжатие добавляют значительное время
Массовые битые ссылки увеличивают длительность исправления
Какие режимы проверки есть и сколько занимает каждый
В конфигураторе (Администрирование → Тестирование и исправление) доступно несколько независимых режимов. Их можно запускать по отдельности — это удобный способ контролировать длительность.
Реиндексация таблиц
Перестраивает индексы таблиц базы. На небольших базах занимает минуты, на крупных — часы. Реиндексацию часто запускают профилактически, так как она ускоряет работу запросов, но в клиент-серверном варианте аналогичную задачу обычно эффективнее выполнять штатными средствами СУБД.
Проверка логической целостности
Проверяет корректность структуры данных и логику хранения. Это базовый режим при подозрении на сбой. Длительность — от десятков минут на малой базе до нескольких часов на большой.
Проверка ссылочной целостности
Ищет «битые ссылки» — ссылки на несуществующие объекты. Один из самых длительных режимов, потому что требует перекрёстного анализа таблиц. Именно он чаще всего нужен после сообщений вида «Объект не найден».
Пересчёт итогов и сжатие таблиц
Пересчёт итогов восстанавливает накопленные остатки по регистрам — актуально, когда отчёты показывают неверные остатки. Сжатие таблиц (только для файлового варианта) физически уменьшает файл базы и на больших объёмах может идти очень долго.
Как оценить срок для своей базы
Самый надёжный способ — тестовый прогон на копии. Скопируйте базу, запустите проверку на тестовом сервере или локальной машине и засеките время. Это даст реалистичную оценку с поправкой на производительность оборудования.
Если копию развернуть негде, ориентируйтесь на косвенные признаки: размер файла 1Cv8.1CD (для файлового варианта) или размер базы в СУБД, скорость дисковой подсистемы и опыт прошлых регламентных операций (например, сколько занимает резервное копирование — проверка обычно длится дольше копирования).
Планируя окно обслуживания, закладывайте запас: если тест показал 3 часа, закладывайте 4–5. Найденные ошибки и необходимость повторного прогона после исправления почти всегда удлиняют процедуру.
- 1Сделайте полную резервную копию базы и проверьте, что она восстанавливается
- 2Определите, какие режимы проверки действительно нужны по симптомам
- 3Прогоните проверку на копии базы и замерьте время
- 4Согласуйте окно обслуживания с пользователями с запасом времени
- 5Завершите сеансы пользователей и отключите регламентные задания
- 6Запустите проверку, дождитесь завершения и изучите протокол ошибок
- 7Проверьте работоспособность базы и только потом пустите пользователей
Монопольный режим и простой пользователей
Тестирование и исправление в файловом варианте требует монопольного доступа: все пользователи должны выйти, фоновые и регламентные задания — остановиться. Это главная причина, почему процедуру проводят ночью или в выходные.
В клиент-серверном варианте часть проверок технически может выполняться без полного выгона пользователей, но режим исправления всё равно требует монопольности. Кроме того, активная работа пользователей во время проверки замедляет её и повышает нагрузку на сервер СУБД.
Практическая рекомендация: перед запуском принудительно завершите сеансы через консоль кластера или обработку завершения сеансов и установите блокировку начала сеансов, чтобы никто не вошёл в базу в середине процедуры.
Что делает режим исправления и чем это рискованно
При включённом флаге исправления программа не только находит, но и устраняет ошибки. Для битых ссылок предлагаются варианты: не изменять, создавать объекты-заглушки, очищать ссылки или удалять объекты. Выбор влияет и на сроки, и на последствия.
Очистка ссылок и удаление объектов — необратимые операции. Если ошибочно удалённый объект окажется нужным, вернуть его можно только из резервной копии. Поэтому на первом прогоне разумно запустить проверку без исправления, изучить список ошибок и только потом осознанно выбрать стратегию исправления.
Вариант «создавать объекты» безопаснее для целостности учёта: вместо потерянных элементов появляются заглушки, которые бухгалтер или администратор потом заполнит вручную. Но это добавляет работы после процедуры — учитывайте это в сроках.
Как сократить время проверки
Первый приём — выборочный запуск. Определите по симптомам, какая именно проверка нужна, и не запускайте остальные. Сообщение «Объект не найден» — это ссылочная целостность, а не полный цикл.
Второй приём — перенос проверки на быстрое оборудование. Файловую базу можно скопировать на локальный SSD, проверить там и вернуть обратно. Для клиент-серверной базы — выполнять реиндексацию и обслуживание средствами СУБД, которые обычно быстрее и могут работать параллельно.
Третий приём — регулярность. База, которую обслуживают по расписанию, накапливает меньше ошибок, и каждая отдельная проверка проходит быстрее. Раз в квартал — разумный профилактический интервал для активно используемых баз, при появлении симптомов — внепланово.
Как выбрать действие
Частые вопросы
Можно ли прервать тестирование и исправление в середине?
Технически процесс можно завершить принудительно, но делать этого не стоит: база может остаться в промежуточном, частично изменённом состоянии. Если процедура явно зависла, дождитесь завершения текущего этапа. При аварийном прерывании восстанавливайте базу из резервной копии.
Нужно ли запускать проверку регулярно, если ошибок нет?
Да, в профилактическом режиме это полезно: реиндексация поддерживает скорость работы, а периодическая проверка целостности выявляет скрытые проблемы до того, как они проявятся в учёте. Для активно используемых баз разумный интервал — раз в квартал или после сбоев.
Чем отличается утилита chdbfl от тестирования в конфигураторе?
chdbfl.exe проверяет физическую целостность файла базы — целостность страниц и структуры хранения. Её используют, когда файл повреждён и конфигуратор не открывается. Тестирование и исправление работает на уровне логики данных и запускается уже на открывающейся базе.
Почему проверка на копии прошла за час, а на рабочей базе идёт дольше?
Чаще всего из-за разницы в оборудовании и загрузке: тестовый прогон делали на локальном SSD, а рабочая база лежит на сетевом диске или загруженном сервере. Также рабочая база могла вырасти за время между тестом и реальным запуском.
Удалит ли исправление мои документы и справочники?
Штатные данные не затрагиваются. Удаляются только объекты с нарушенной структурой и битые ссылки — и то в зависимости от выбранного вами варианта обработки. Чтобы исключить потери, сначала запустите проверку без исправления и изучите протокол.
Можно ли проводить проверку, пока пользователи работают?
Режим исправления требует монопольного доступа — пользователей придётся отключить. Отдельные проверки в клиент-серверном варианте технически возможны без выгона, но они замедлят и базу, и саму проверку, поэтому на практике процедуру планируют на нерабочее время.
Что важно запомнить
Срок тестирования и исправления 1С зависит от объёма базы, выбранных режимов и скорости дисков: от минут на малой базе до суток на крупной. Оценивайте время тестовым прогоном на копии, запускайте только нужные проверки, всегда делайте резервную копию и планируйте окно обслуживания с запасом.