Нарушение целостности информационной базы — одна из самых критических ситуаций, с которыми сталкиваются администраторы и пользователи 1С: Предприятие. Это может произойти из-за внезапного отключения электричества, сбоя в работе аппаратного обеспечения сервера или некорректного завершения работы приложения. В таких случаях система начинает выдавать сообщения о невозможности провести документы или открыть справочники, а в журнале регистрации появляются странные ошибки блокировок.

Для устранения подобных проблем в платформе предусмотрен встроенный механизм, который называется тестирование и исправление (ТИИБ). Данный инструмент позволяет проанализировать структуру таблиц базы данных, найти логические несоответствия и восстановить их штатными средствами. Процедура запускается непосредственно из режима Конфигуратор и требует монопольного доступа ко всей информационной базе, поэтому выполнять её необходимо в нерабочее время.

Подготовка к процедуре тестирования и исправления

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

Вам необходимо убедиться, что все сеансы пользователей завершены. Для этого зайдите в консоль администрирования серверов 1С или используйте утилиту ras для принудительного завершения активных сессий, если автоматический выход не произошел. Также критически важно создать полную резервную копию базы данных (файловую или выгрузку dt), чтобы в случае неудачи можно было откатиться к исходному состоянию.

💡

Перед запуском ТИИБ обязательно сделайте полную резервную копию базы данных (DT-выгрузку или копию файлов), так как процесс исправления необратим и может изменить структуру данных.

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

⚠️ Внимание: Никогда не запускайте тестирование и исправление в многопользовательском режиме. Даже если вам кажется, что в базе никого нет, фоновые задания или регламентные операции могут держать активное соединение, что вызовет конфликт блокировок.

Запуск режима Конфигуратор и вход в базу

Для начала процедуры необходимо запустить ярлык 1С: Предприятие (Конфигуратор). В окне запуска выберите нужную информационную базу из списка. Обратите внимание на галочку Монопольный режим: её установка обязательна. Без этого флага система просто не позволит выполнить глубокий анализ структуры, так как не сможет получить исключительные права на таблицы.

После ввода логина и пароля администратора вы попадете в интерфейс конфигуратора. Здесь не нужно открывать никакие конфигурации или модули. Вся необходимая функциональность находится в главном меню. Найдите пункт Администрирование в верхней панели инструментов. Именно в этом разделе сосредоточены все инструменты глобального управления базой данных.

☑️ Подготовка к запуску ТИИБ

Выполнено: 0 / 4

Если вы работаете с клиент-серверным вариантом базы данных (например, на MS SQL Server или PostgreSQL), убедитесь, что у вашей учетной записи 1С есть права на выполнение системных операций. В файловом варианте (.1CD) права определяются правами доступа к папке в операционной системе Windows.

Настройка параметров тестирования и исправления

В меню Администрирование выберите пункт Тестирование и исправление. Перед вами откроется диалоговое окно с набором чекбоксов, каждый из которых отвечает за определенный аспект проверки. По умолчанию большинство из них уже отмечено, но важно понимать, за что отвечает каждый параметр, чтобы не пропустить критические ошибки.

Опция Физическая целостность проверяет структуру файлов базы данных на предмет повреждений. Это базовый уровень проверки, который выявляет битые страницы данных. Опция Логическая целостность ищет несоответствия в ссылках между объектами: например, если документ ссылается на удаленный элемент справочника. Эти два параметра являются обязательными для запуска в 99% случаев.

Параметр проверки Описание действия Влияние на время выполнения
Физическая целостность Проверка структуры файлов данных на битые сектора Низкое
Логическая целостность Поиск битых ссылок и несуществующих объектов Среднее
Пересчет итогов Обновление агрегированных данных в регистрах Высокое
Реиндексация Полное перестроение индексов таблиц Высокое

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

Что делать с параметром "Таблицы документов"?Если база очень большая (сотни гигабайт), проверка таблиц документов может занять несколько часов. В экстренных случаях, когда нужно быстро восстановить доступ, этот пункт можно снять, но тогда риск наличия скрытых ошибок в документах останется.-->

Процесс выполнения и мониторинг прогресса

После нажатия кнопки ОК начнется непосредственный процесс анализа. На экране появится окно прогресса, которое показывает текущий этап выполнения и процент завершения. В зависимости от размера базы и выбранного набора проверок, этот процесс может занять от нескольких минут до нескольких часов.

Во время выполнения система последовательно проходит по всем таблицам. Вы можете видеть в логе (если он включен) или в сообщениях на экране, какая именно таблица обрабатывается в данный момент. Прерывать этот процесс категорически запрещено. Принудительное закрытие окна или завершение процесса через диспетчер задач приведет к тому, что база окажется в состоянии "наполовину исправленной", что гораздо хуже исходной поломки.

⚠️ Внимание

Если процесс завис на одном месте более чем на 30-60 минут без изменения прогресс-бара, не спешите его убивать. Часто это означает, что система обрабатывает очень большую таблицу (например, регистр накопления) и просто не обновляет интерфейс. Проверьте загрузку диска и процессора.

Для больших баз данных рекомендуется выполнять процедуру на самом сервере, где расположена база, чтобы исключить влияние сетевых задержек. При работе через удаленный рабочий стол (RDP) убедитесь, что сессия не разорвется из-за таймаута бездействия.

Анализ журнала регистрации после процедуры

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

Обязательно откройте журнал регистрации 1С сразу после перезапуска базы в обычном режиме. Отфильтруйте события по типу Ошибка или Предупреждение за период выполнения тестирования. Иногда платформа исправляет структуру, но не может восстановить конкретные данные, о чем сообщает в журнале. Такие записи требуют ручного вмешательства программиста.

Если в журнале появились сообщения о том, что "не удалось исправить ссылку" или "обнаружен удаленный объект", это сигнал к тому, что в базе есть "битые" документы. Их необходимо найти вручную, используя отчеты по битым ссылкам или специализированные обработки, и удалить или исправить их содержимое.

Частые ошибки и способы их устранения

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

Другая частая ошибка связана с нехваткой прав доступа. Если 1С работает под управлением MS SQL Server, учетная запись, от имени которой запускается сервис 1С или пользователь, должна иметь права db_owner или эквивалентные права на выполнение DDL-операций. Без этих прав пересоздание индексов или изменение структуры таблиц будет заблокировано на уровне СУБД.

  • 🔴 Ошибка блокировки: Проверьте список активных сеансов через консоль администрирования и завершите все подозрительные подключения вручную.
  • 🟠 Ошибка диска: Убедитесь, что на диске, где расположен файл транзакций SQL или папка с файлами 1С, есть свободное место (минимум 20% от размера базы).
  • 🟡 Повреждение конфигурации: Если ТИИБ не помогает, попробуйте выгрузить конфигурацию в файл, создать новую пустую базу и загрузить конфигурацию туда, а затем объединить с данными.
💡

Если стандартное ТИИБ не устраняет ошибку доступа или целостности, проблема может лежать глубже — на уровне файловой системы или самого сервера баз данных, требуя вмешательства системного администратора.

⚠️ Внимание: Интерфейсы и названия пунктов меню могут незначительно отличаться в разных версиях платформы 1С (8.2, 8.3, актуальные релизы). Всегда сверяйтесь со справкой по вашей конкретной версии платформы, если не можете найти нужный пункт.

Профилактика целостности базы данных

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

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

Помните, что здоровье базы данных зависит не только от программных инструментов, но и от надежности "железа". Использование качественных источников бесперебойного питания (ИБП) и RAID-массивов для хранения данных значительно снижает риск возникновения ситуаций, когда вообще потребуется запускать аварийное восстановление.

Можно ли запускать ТИИБ в рабочем режиме (когда есть пользователи)?

Категорически нет. Тестирование и исправление требует монопольного доступа ко всей базе данных. Если в момент запуска будут активные пользователи, процедура либо не запустится, либо завершится ошибкой, либо (в худшем случае) повредит данные, над которыми в этот момент работают пользователи.

Сколько времени занимает процедура для базы размером 50 Гб?

Время выполнения сильно зависит от скорости дисковой подсистемы (SSD vs HDD) и мощности процессора. Для базы 50 Гб проверка физической и логической целостности может занять от 15 до 40 минут. Если добавить пересчет итогов и реиндексацию, время может увеличиться до 2-3 часов.

Что делать, если после ТИИБ база не открывается?

Если после процедуры база не открывается, первым делом восстановите резервную копию, сделанную перед запуском. Затем проанализируйте журнал событий Windows и журнал 1С. Возможно, повреждение было слишком глубоким, и требуется восстановление из более ранней копии или обращение к специалистам по восстановлению данных СУБД.

Нужно ли делать ТИИБ для файловых баз чаще, чем для клиент-серверных?

Файловые базы (.1CD) более подвержены повреждениям при сбоях питания или сети, так как у них нет полноценного журнала транзакций, как у SQL-серверов. Поэтому для файловых версий профилактический запуск ТИИБ рекомендуется проводить чаще, например, раз в неделю, тогда как для SQL-версий достаточно раза в месяц при стабильной работе.