К статье
Практический материал

Администрирование · 13 мин

Почему вылетает база 1С и что делать

Разбираем, почему вылетает база 1С: повреждение файлов, нехватка памяти, ошибки платформы и СУБД. Пошаговая диагностика, восстановление и профилактика сбоев.

Аварийное завершение работы 1С — одна из самых частых проблем у пользователей и администраторов. «Вылет» может выглядеть по-разному: платформа закрывается без сообщения, появляется окно с ошибкой, сеанс разрывается на клиент-серверном варианте или база перестаёт открываться вовсе. Причины при этом лежат в нескольких разных слоях: оборудование, операционная система, платформа 1С, СУБД, сама конфигурация и данные.

Важно понимать: «вылетает база» и «вылетает платформа» — не одно и то же. Если программа закрывается у одного пользователя на одном компьютере, проблема почти наверняка локальная: кэш, драйверы, память рабочей станции. Если сеансы рушатся у всех одновременно — искать нужно на сервере, в СУБД или в самой информационной базе. Правильная локализация сокращает время диагностики в разы.

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

Как понять, что именно вылетает: платформа, сеанс или база

Первый шаг диагностики — определить масштаб проблемы. Ответьте на три вопроса: вылет происходит у одного пользователя или у всех; воспроизводится ли он на другом компьютере под тем же пользователем; зависит ли сбой от конкретного действия (проведение документа, формирование отчёта) или возникает случайно.

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

Вылет у одного пользователя на любом ПКПроблема в учётной записи или данных

Проверить под другим пользователем на том же документе

Вылет на одном компьютереЛокальная проблема: кэш, память, диск

Очистить кэш, проверить ОЗУ и диск

Вылет у всех одновременноСервер, СУБД или сама база

Смотреть журналы сервера 1С и СУБД

Вылет на одном действииОшибка кода или повреждённые данные

Воспроизвести на копии, посмотреть техножурнал

Нехватка памяти и ресурсов компьютера

Одна из самых частых причин аварийного завершения — нехватка оперативной памяти. Тяжёлые отчёты, групповое перепроведение, обработки больших таблиц могут потреблять гигабайты ОЗУ. Когда память заканчивается, 32-разрядный клиент 1С падает с ошибкой «Недостаточно памяти» или просто закрывается, потому что один процесс 32-битного приложения ограничен примерно 2 ГБ адресного пространства.

Признаки ресурсной проблемы: вылет происходит при выполнении «тяжёлых» операций, в диспетчере задач процесс rphost, ragent или 1cv8 перед падением потребляет максимум доступной памяти, на диске с файлом подкачки мало свободного места. На сервере 1С картина аналогична — рабочие процессы rphost раздуваются и перезапускаются.

Что можно сделать: увеличить файл подкачки, добавить оперативную память, перейти на 64-разрядный клиент и сервер 1С, разбить тяжёлую операцию на части (например, перепроводить документы помесячно, а не за весь период сразу). На сервере — настроить ограничения объёма памяти рабочих процессов в консоли кластера, чтобы один «прожорливый» процесс не уронил весь сервер.

Повреждение кэша и временных файлов

1С активно использует локальный кэш метаданных: он хранится в папках пользователя (обычно в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8). При внезапном отключении электричества, принудительном завершении процесса или сбое сети кэш может повредиться, и тогда база вылетает при запуске, при открытии определённых форм или выдаёт ошибки вида «Ошибка формата потока».

Диагностика проста: если после очистки кэша проблема исчезает — причина была в нём. Самый безопасный способ очистки — удалить базу из списка в окне запуска и добавить её заново (при этом кэш пересоздаётся), либо вручную удалить папку с идентификатором базы в каталоге кэша при закрытой программе.

Очистка кэша 1С
  1. 1
    Закройте все сеансы 1С данного пользователя
  2. 2
    Откройте папку %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8
  3. 3
    Найдите папку с именем-идентификатором базы (длинный код из букв и цифр)
  4. 4
    Удалите эту папку или переименуйте её для страховки
  5. 5
    Запустите базу заново — кэш создастся автоматически
  6. 6
    Проверьте, воспроизводится ли вылет

Дополнительно стоит очистить папку srv1cv8 с серверным кэшем (каталог srvinfo, подпапки reg_1541 и подобные) — но только при остановленной службе агента сервера 1С и понимании, что удалять можно именно кэш, а не файлы списка баз. Если сомневаетесь — ограничьтесь клиентским кэшем.

Повреждение файловой базы (1Cv8.1CD)

В файловом варианте работы вся база хранится в одном файле 1Cv8.1CD. Он уязвим к внезапным отключениям питания, сбоям сети при размещении файла на сетевом диске, переполнению диска и ошибкам оборудования. Повреждение проявляется ошибками «Файл базы данных повреждён», «Ошибка формата потока», вылетами при обращении к конкретным таблицам или полной невозможностью открыть базу.

Инструмент восстановления — утилита chdbfl.exe из каталога bin платформы, а также штатное «Тестирование и исправление» в конфигураторе. Оба инструмента запускаются только при монопольном доступе и только на копии базы: исправление изменяет файл необратимо, и при неудаче без копии данные можно потерять окончательно.

Восстановление файловой базы
  1. 1
    Завершите все сеансы и убедитесь, что база никем не открыта
  2. 2
    Скопируйте файл 1Cv8.1CD в отдельную папку — это резервная копия
  3. 3
    Запустите chdbfl.exe из каталога bin платформы, укажите файл базы
  4. 4
    Включите флаг «Исправлять обнаруженные ошибки» и выполните проверку
  5. 5
    Если утилита не помогла — откройте копию в конфигураторе и запустите «Тестирование и исправление» с режимами реструктуризации и проверки ссылочной целостности
  6. 6
    Проверьте работоспособность: откройте базу, выполните типовые операции, сверьте ключевые отчёты с данными до сбоя

Если файл базы размещён на сетевом диске и вылеты происходят регулярно у нескольких пользователей — это почти всегда проблема сети или блокировок. Файловый режим по сети чувствителен к обрывам соединения; устойчивое решение — перевод базы на клиент-серверный вариант (PostgreSQL, MS SQL Server) либо публикация через веб-сервер.

Проблемы на стороне сервера 1С и СУБД

В клиент-серверном варианте «вылет базы» часто означает падение рабочего процесса rphost или разрыв соединения с СУБД. Типичные причины: переполнение диска с журналом транзакций или tempdb, нехватка памяти на сервере СУБД, разрыв сети между сервером 1С и сервером баз данных, аварийный перезапуск службы агента кластера.

Первичную информацию дают журналы: технологический журнал 1С (если настроен), журнал событий Windows на сервере, логи СУБД. В консоли кластера видно, перезапускались ли рабочие процессы. Если в событиях Windows фиксируются ошибки диска или памяти — начинать нужно с оборудования, а не с 1С.

Маршрут решения

Как выбрать действие

В событиях Windows ошибки диска или контроллераПроверяйте оборудование: SMART дисков, RAID-контроллер, кабели; 1С здесь ни при чём
rphost растёт в памяти и перезапускаетсяНастройте ограничения памяти процессов в свойствах кластера и проверьте, какая операция вызывает рост
Ошибки соединения с СУБДПроверьте сеть между серверами, доступность службы СУБД и место на дисках базы
Вылет только при конкретном отчёте или проведенииВключите технологический журнал, воспроизведите ошибку и найдите запрос или код, который её вызывает

Отдельный случай — вылеты после обновления платформы или СУБД. Здесь помогает проверка совместимости версий, откат на предыдущий релиз платформы (он запускается параллельно, выбрать версию можно в свойствах базы в списке запуска) и анализ изменений в конфигурации.

Ошибки в конфигурации и коде расширений

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

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

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

Внешние факторы: антивирус, питание, оборудование

Антивирусные программы могут блокировать или повреждать файлы базы и кэша при фоновом сканировании. Каталоги с базами, кэшем и временными файлами 1С рекомендуется добавить в исключения антивируса — это стандартная практика, рекомендуемая вендором.

Аппаратные причины: сбойные модули оперативной памяти (проверяются memtest), деградирующий диск (проверяется SMART), перегрев сервера, нестабильный блок питания. Характерный признак аппаратной проблемы — вылеты разных программ, а не только 1С, и ошибки в системном журнале Windows.

Обязательный минимум защиты для файловой базы — источник бесперебойного питания на компьютере, где лежит файл, и регулярные резервные копии по расписанию. Для серверной базы — ИБП на сервере, RAID-массив и выгрузка бэкапов на отдельное устройство.

Типичные ошибки
01
Запуск «Тестирования и исправления» без резервной копии — при неудаче данные теряются безвозвратно
02
Хранение файловой базы на сетевом диске при нестабильной сети — регулярные повреждения файла
03
Игнорирование свободного места на диске — переполнение приводит к повреждению базы и журналов
04
Одновременная работа разных версий платформы с одной базой — конфликты кэша и странные вылеты
05
Отсутствие регулярных бэкапов — любой сбой превращается в катастрофу

Профилактика: как снизить риск вылетов

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

Следите за дисками (свободное место, SMART), держите платформу на поддерживаемом релизе, обновления сначала проверяйте на копии базы. Для крупных баз планируйте переход с файлового режима на клиент-серверный — он устойчивее к сбоям и лучше масштабируется.

Контрольные точки

Как проверить результат

Запуск базы после восстановления
Норма

База открывается, типовые операции выполняются без ошибок

Тревожный признак

Ошибки формата потока, вылеты на тех же действиях

Целостность данных
Норма

Ключевые отчёты (оборотка, остатки) сходятся с данными до сбоя

Тревожный признак

Расхождения в итогах, пропавшие документы

Стабильность работы
Норма

Несколько дней работы без повторных вылетов

Тревожный признак

Сбой воспроизводится — причина не устранена

Резервное копирование
Норма

Копия создаётся по расписанию и тестово разворачивается

Тревожный признак

Копии нет или она не восстанавливается

Итог

Что важно запомнить

Сначала локализуйте сбой: один пользователь, один компьютер или вся база. Чаще всего помогают очистка кэша и проверка памяти. Повреждённую файловую базу восстанавливайте chdbfl или «Тестированием и исправлением» — и только на копии. Регулярные проверяемые бэкапы важнее любого инструмента восстановления.

Частые вопросы

База вылетает с ошибкой «Ошибка формата потока» — это повреждение данных?

Не обязательно. Чаще всего эта ошибка вызвана повреждённым кэшем — начните с его очистки. Если после очистки ошибка остаётся и возникает у всех пользователей, тогда проверяйте сам файл базы утилитой chdbfl на копии.

Можно ли восстановить базу, если резервной копии нет?

Часто да: chdbfl.exe и «Тестирование и исправление» восстанавливают структуру файла в большинстве случаев повреждений. Однако часть данных может быть потеряна безвозвратно, поэтому работайте только с копией файла, а оригинал сохраните нетронутым.

Почему 1С вылетает только при формировании большого отчёта?

Типичный признак нехватки памяти, особенно на 32-разрядном клиенте. Решения: перейти на 64-разрядную платформу, ограничить период отчёта, формировать отчёт частями или перенести выполнение на сервер с большим объёмом ОЗУ.

Вылеты начались после обновления платформы. Что делать?

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

Файловая база на сетевом диске вылетает у нескольких пользователей. Это лечится?

Частично — проверкой сети, отключением автономных файлов и добавлением исключений в антивирус. Но надёжное решение одно: перевод базы в клиент-серверный режим или публикация через веб-сервер, чтобы файл не использовался напрямую по сети.

Как понять, что вылеты вызваны оборудованием, а не 1С?

Смотрите системный журнал Windows: ошибки диска, памяти, внезапные перезагрузки указывают на железо. Дополнительно прогоните тест памяти (memtest) и проверьте SMART дисков. Если сбоит только 1С и только на одном действии — оборудование, скорее всего, ни при чём.