База 1С не запускается: возвращаем её в работу в файловом и серверном варианте

· 9 мин

Содержание

Чтобы поднять базу 1С, сначала определите её вариант. Файловую базу достаточно добавить в список запуска по пути к папке с файлом 1Cv8.1CD или загрузить в пустую базу из выгрузки .dt. Серверную базу поднимают по цепочке: служба СУБД → служба агента сервера 1С → регистрация базы в кластере → подключение клиента.

Типичная ситуация: утром бухгалтер открывает 1С, а в списке пусто или вместо окна программы висит ошибка соединения. Ночью перезагрузился сервер, обновилась Windows или базу переносили на новый компьютер. Порядок действий ниже подходит для платформы 8.3 и любой конфигурации: БП, ЗУП, УТ, КА. От конфигурации запуск базы не зависит.

Шаг 0. Разберитесь, что именно сломалось

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

Посмотрите строку подключения базы. В окне запуска выделите базу — внизу окна видна строка вида:

  • 📁 File="D:\Bases\Buh" — файловая база, всё хранится в одной папке;
  • 🖥 Srvr="srv1c";Ref="buh" — клиент-серверная база , данные лежат в СУБД.

Дальше ответьте на три вопроса:

  1. Не открывается одна база или все сразу? Если все — проблема в платформе, лицензии или сервере, а не в данных.
  2. Не открывается у одного пользователя или у всех? Если у одного — почти всегда виноваты его кэш, список баз или версия клиента.
  3. Что менялось накануне? Обновление платформы , перенос папки, смена пароля учётной записи службы, новый сервер.
СимптомГде искать
База пропала из спискаСписок баз пользователя, путь к папке
Ошибка сразу после выбора базыКэш клиента, версия платформы, лицензия
Ошибка подключения к серверуСлужба агента, порты, брандмауэр
Сервер отвечает, база не найденаРегистрация базы в кластере
Ошибка СУБД в тексте сообщенияPostgreSQL или MS SQL, учётная запись

Как поднять файловую базу 1С

Файловая база — это папка, в которой лежит файл 1Cv8.1CD. Пока этот файл цел, базу почти всегда можно вернуть.

Вернуть базу в список запуска

  1. Найдите папку базы. Если путь забыли — поищите на диске файлы 1Cv8.1CD через поиск Проводника.
  2. В окне запуска нажмите Добавить.
  3. Выберите Добавление в список существующей информационной базы.
  4. Задайте понятное имя и укажите каталог — папку, где лежит 1Cv8.1CD, а не сам файл.
  5. Оставьте версию платформы по умолчанию или укажите нужную, если на компьютере их несколько.

Для сетевой папки указывайте путь вида \\server\Bases\Buh, а не подключённый диск. Буква диска у разных пользователей бывает разной, и база у них «пропадёт».

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

Поднять базу из выгрузки .dt

Если самой папки нет, но есть файл выгрузки:

  1. В окне запуска нажмите Добавить → Создание новой информационной базы.
  2. Выберите Создание информационной базы без конфигурации.
  3. Укажите новую пустую папку.
  4. Откройте созданную базу в режиме Конфигуратор.
  5. Выполните Администрирование → Загрузить информационную базу и выберите файл .dt.
  6. После загрузки откройте базу в режиме 1С:Предприятие.

Загрузка .dt полностью заменяет данные базы. Делайте её только в пустую базу или в ту, содержимое которой не жалко.

Проверить и исправить файл базы

Если база была в списке, но перестала открываться после сбоя питания или зависания, проверьте файл утилитой chdbfl.exe. Она лежит в папке bin установленной платформы, например C:\Program Files\1cv8\8.3.xx.xxxx\bin\.

  1. Закройте базу у всех пользователей.
  2. Скопируйте папку базы целиком в другое место. Это ваша страховка.
  3. Запустите chdbfl.exe, укажите файл 1Cv8.1CD.
  4. Отметьте Исправлять обнаруженные ошибки и нажмите Выполнить.

Если база открывается в Конфигураторе, удобнее пункт Администрирование → Тестирование и исправление. Там больше режимов, включая реиндексацию и пересчёт итогов. Он требует монопольного доступа — попросите всех выйти.

Как поднять базу на сервере 1С:Предприятия

Клиент-серверная база держится на трёх звеньях. Клиент обращается к агенту сервера (порт 1540), агент передаёт его менеджеру кластера (1541), а данные отдают рабочие процессы из диапазона портов, обычно 1560–1591. Диапазон задаётся в свойствах рабочего сервера.

Запустить службу агента

На сервере откройте services.msc и найдите службу 1C:Enterprise 8.3 Server Agent (с пометкой разрядности). Проверьте:

  • 🟢 состояние «Выполняется»;
  • ⚙️ тип запуска «Автоматически»;
  • 👤 учётную запись на вкладке «Вход в систему» — обычно USR1CV8. Если пароль этой учётной записи меняли или он истёк, служба не стартует.

На Linux найдите службу командой systemctl list-units | grep -i 1c и посмотрите её состояние через systemctl status.

Зарегистрировать службу заново

После переустановки платформы или смены версии служба иногда остаётся от старой версии или исчезает. Регистрируют её утилитой ragent.exe из папки bin нужной версии, из командной строки от имени администратора:

cd "C:\Program Files\1cv8\8.3.xx.xxxx\bin"
ragent.exe -instsrvc -usr .\USR1CV8 -pwd "Пароль" -port 1540 -regport 1541 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
ragent.exe -start

Параметр -d указывает каталог srvinfo с настройками кластера. Если указать старый каталог, кластер поднимется со всеми зарегистрированными базами. Если новый пустой — кластер придётся настраивать заново.

Перед повторной регистрацией остановите и удалите старую службу (ragent.exe -rmsrvc из папки её версии). Две службы на одном порту не уживутся.

Открыть консоль администрирования

Консоль «Администрирование серверов 1С Предприятия» работает через библиотеку radmin.dll. После обновления платформы консоль часто пишет, что не может создать оснастку. Лечится перерегистрацией библиотеки той же версии, что и сервер:

regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"

Командную строку запускайте от имени администратора.

Зарегистрировать базу в кластере

Если база есть в СУБД, но в кластере её нет (новый сервер, пустой srvinfo):

  1. В консоли раскройте Central 1C:Enterprise 8.3 servers → имя сервера → Кластеры → Локальный кластер → Информационные базы.
  2. Через контекстное меню выберите Создать → Информационная база.
  3. Заполните имя базы в кластере, тип СУБД, сервер баз данных, имя базы в СУБД, пользователя и пароль СУБД.
  4. Флажок Создать базу данных в случае ее отсутствия снимите, если база в СУБД уже есть.
  5. Включите Установить блокировку регламентных заданий, если поднимаете копию рабочей базы. Иначе копия начнёт отправлять отчёты и загружать банк вместе с основной.

Подключить пользователя

В окне запуска: Добавить → Добавление в список существующей информационной базы → вариант На сервере 1С:Предприятия. Укажите кластер (имя сервера, при нестандартном порте — srv1c:1541) и имя базы в кластере.

Что проверить в СУБД под базой 1С

Серверная база не поднимется, пока не работает сама СУБД. Ошибки этого уровня 1С показывает с пометкой «Ошибка СУБД» и текстом от самой СУБД.

PostgreSQL

  • 🔄 Служба PostgreSQL запущена (в services.msc или systemctl status).
  • 🔌 Порт 5432 открыт для сервера 1С.
  • 🔐 В файле pg_hba.conf разрешено подключение с адреса сервера 1С.
  • 🧩 Используется сборка PostgreSQL с патчами для 1С. На обычной сборке без них база может не создаться или работать с ошибками.

Текст password authentication failed for user означает неверный пароль пользователя СУБД в свойствах базы в кластере.

Microsoft SQL Server

  • 🔄 Служба SQL Server (и SQL Server Browser для именованного экземпляра) запущена.
  • 🔐 Включена смешанная проверка подлинности, если 1С подключается под логином SQL.
  • 🏷 Для именованного экземпляра сервер БД пишется как server\INSTANCE.
  • 👤 Логину хватает прав на базу. Для создания новых баз — роль dbcreator.

Сообщение Login failed for user — неверный логин, пароль или отключённая проверка SQL.

Если СУБД и сервер 1С стоят на разных машинах, проверьте связь простым подключением из клиента СУБД (pgAdmin, SSMS) с машины сервера 1С. Так сразу видно, чья это проблема.

Ошибки при старте базы и как их снять

Ниже — симптомы, с которыми чаще всего приходят «поднимать базу». Выберите свой.

Диагностика: выберите симптом

Очистить кэш клиента

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

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

Очистить сеансовые данные сервера

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

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

  1. Остановите службу 1C:Enterprise 8.3 Server Agent.
  2. Откройте каталог srvinfo\reg_1541.
  3. Удалите папки, имя которых начинается на snccntx. Остальные файлы не трогайте — в них настройки кластера и список баз.
  4. Запустите службу.

Если ничего не помогло

  • 🔁 Попробуйте открыть базу на другой машине. Если там открывается, проблема в рабочем месте.
  • 🧪 Для файловой базы снимите копию и прогоните chdbfl.exe по копии.
  • 📦 Для серверной базы выгрузите её в .dt из Конфигуратора, если он открывается, и загрузите в новую пустую базу.
  • 📄 Если нет и этого — разворачивайте последнюю резервную копию СУБД рядом с рабочей базой и проверяйте её.

Как не поднимать базу заново: копии и профилактика

Базу проще восстановить, чем вылечить. Нужны свежая копия и проверенный порядок восстановления.

Вариант базыЧем копироватьКогда
ФайловаяКопия папки при закрытой базе или выгрузка .dtЕжедневно, после рабочего дня
Серверная на PostgreSQLpg_dump средствами СУБДЕжедневно, плюс перед обновлением
Серверная на MS SQLПлан обслуживания с полной копиейЕжедневно, журнал транзакций — чаще
ЛюбаяВыгрузка .dt из КонфигуратораПеред обновлением конфигурации

Файл 1Cv8.1CD нельзя копировать, пока в базе работают люди. Копия получится, но может не открыться. Копируйте после выхода всех пользователей или по расписанию ночью.

Профилактика, чтобы база поднималась без сюрпризов
Выполнено: 0 / 6

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

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

Можно ли поднять файловую базу как серверную?
Да. Выгрузите файловую базу в .dt, создайте базу в кластере и загрузите выгрузку через Конфигуратор. Обратный перенос делается так же.
Какая версия платформы нужна, чтобы открыть чужую базу?
Номер версии не ниже той, что требует конфигурация. Её видно в сообщении при попытке открыть базу на старой платформе.
Почему у одного пользователя база открывается, а у другого нет?
Чаще всего разные версии платформы, испорченный кэш или нет прав на сетевую папку. Сравните строку подключения и версию в свойствах базы у обоих.
Сколько времени занимает загрузка .dt?
Зависит от размера базы и дисков. База на несколько гигабайт загружается от десятков минут до нескольких часов, на SSD быстрее.
Нужна ли отдельная лицензия на сервер 1С?
Для клиент-серверного варианта нужна лицензия на сервер 1С:Предприятия, клиентских лицензий для файловой базы для этого недостаточно.