База 1С не запускается: возвращаем её в работу в файловом и серверном варианте
Содержание
Чтобы поднять базу 1С, сначала определите её вариант. Файловую базу
достаточно добавить в список запуска по пути к папке с файлом 1Cv8.1CD или загрузить в пустую базу из выгрузки .dt. Серверную базу
поднимают по цепочке: служба СУБД → служба агента сервера 1С → регистрация базы в кластере → подключение клиента.
Типичная ситуация: утром бухгалтер открывает 1С, а в списке пусто или вместо окна программы висит ошибка соединения. Ночью перезагрузился сервер, обновилась Windows или базу переносили на новый компьютер. Порядок действий ниже подходит для платформы 8.3 и любой конфигурации: БП, ЗУП, УТ, КА. От конфигурации запуск базы не зависит.
Шаг 0. Разберитесь, что именно сломалось
Не начинайте с переустановки платформы. Пять минут диагностики подскажут, на каком звене цепочка оборвалась.
Посмотрите строку подключения базы. В окне запуска выделите базу — внизу окна видна строка вида:
- 📁
File="D:\Bases\Buh"— файловая база, всё хранится в одной папке; - 🖥
Srvr="srv1c";Ref="buh"— клиент-серверная база , данные лежат в СУБД.
Дальше ответьте на три вопроса:
- Не открывается одна база или все сразу? Если все — проблема в платформе, лицензии или сервере, а не в данных.
- Не открывается у одного пользователя или у всех? Если у одного — почти всегда виноваты его кэш, список баз или версия клиента.
- Что менялось накануне? Обновление платформы , перенос папки, смена пароля учётной записи службы, новый сервер.
| Симптом | Где искать |
|---|---|
| База пропала из списка | Список баз пользователя, путь к папке |
| Ошибка сразу после выбора базы | Кэш клиента, версия платформы, лицензия |
| Ошибка подключения к серверу | Служба агента, порты, брандмауэр |
| Сервер отвечает, база не найдена | Регистрация базы в кластере |
| Ошибка СУБД в тексте сообщения | PostgreSQL или MS SQL, учётная запись |
Как поднять файловую базу 1С
Файловая база — это папка, в которой лежит файл 1Cv8.1CD. Пока этот файл цел, базу почти всегда можно вернуть.
Вернуть базу в список запуска
- Найдите папку базы. Если путь забыли — поищите на диске файлы
1Cv8.1CDчерез поиск Проводника. - В окне запуска нажмите
Добавить. - Выберите
Добавление в список существующей информационной базы. - Задайте понятное имя и укажите каталог — папку, где лежит
1Cv8.1CD, а не сам файл. - Оставьте версию платформы по умолчанию или укажите нужную, если на компьютере их несколько.
Для сетевой папки указывайте путь вида \\server\Bases\Buh, а не подключённый диск. Буква диска у разных пользователей бывает разной, и база у них «пропадёт».
У каждого пользователя на сетевую папку с базой должны быть права на чтение и запись. Без записи 1С не откроет базу даже на просмотр: платформа пишет в папку служебные файлы блокировок.
Поднять базу из выгрузки .dt
Если самой папки нет, но есть файл выгрузки:
- В окне запуска нажмите
Добавить→Создание новой информационной базы. - Выберите
Создание информационной базы без конфигурации. - Укажите новую пустую папку.
- Откройте созданную базу в режиме
Конфигуратор. - Выполните
Администрирование → Загрузить информационную базуи выберите файл.dt. - После загрузки откройте базу в режиме 1С:Предприятие.
Загрузка .dt полностью заменяет данные базы. Делайте её только в пустую базу или в ту, содержимое которой не жалко.
Проверить и исправить файл базы
Если база была в списке, но перестала открываться после сбоя питания или зависания, проверьте файл утилитой chdbfl.exe. Она лежит в папке bin установленной платформы, например C:\Program Files\1cv8\8.3.xx.xxxx\bin\.
- Закройте базу у всех пользователей.
- Скопируйте папку базы целиком в другое место. Это ваша страховка.
- Запустите
chdbfl.exe, укажите файл1Cv8.1CD. - Отметьте
Исправлять обнаруженные ошибкии нажмитеВыполнить.
Если база открывается в Конфигураторе, удобнее пункт Администрирование → Тестирование и исправление. Там больше режимов, включая реиндексацию и пересчёт итогов. Он требует монопольного доступа — попросите всех выйти.
Как поднять базу на сервере 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):
- В консоли раскройте
Central 1C:Enterprise 8.3 servers → имя сервера → Кластеры → Локальный кластер → Информационные базы. - Через контекстное меню выберите
Создать → Информационная база. - Заполните имя базы в кластере, тип СУБД, сервер баз данных, имя базы в СУБД, пользователя и пароль СУБД.
- Флажок
Создать базу данных в случае ее отсутствияснимите, если база в СУБД уже есть. - Включите
Установить блокировку регламентных заданий, если поднимаете копию рабочей базы. Иначе копия начнёт отправлять отчёты и загружать банк вместе с основной.
Подключить пользователя
В окне запуска: Добавить → Добавление в список существующей информационной базы → вариант На сервере 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, его эта очистка не затронет.
Очистить сеансовые данные сервера
Если ошибка повторяется у всех пользователей серверной базы, помогает очистка сеансовых данных кластера.
Остановка службы агента обрывает работу всех пользователей на этом сервере. Делайте это вечером или после предупреждения коллег.
- Остановите службу
1C:Enterprise 8.3 Server Agent. - Откройте каталог
srvinfo\reg_1541. - Удалите папки, имя которых начинается на
snccntx. Остальные файлы не трогайте — в них настройки кластера и список баз. - Запустите службу.
Если ничего не помогло
- 🔁 Попробуйте открыть базу на другой машине. Если там открывается, проблема в рабочем месте.
- 🧪 Для файловой базы снимите копию и прогоните
chdbfl.exeпо копии. - 📦 Для серверной базы выгрузите её в
.dtиз Конфигуратора, если он открывается, и загрузите в новую пустую базу. - 📄 Если нет и этого — разворачивайте последнюю резервную копию СУБД рядом с рабочей базой и проверяйте её.
Как не поднимать базу заново: копии и профилактика
Базу проще восстановить, чем вылечить. Нужны свежая копия и проверенный порядок восстановления.
| Вариант базы | Чем копировать | Когда |
|---|---|---|
| Файловая | Копия папки при закрытой базе или выгрузка .dt | Ежедневно, после рабочего дня |
| Серверная на PostgreSQL | pg_dump средствами СУБД | Ежедневно, плюс перед обновлением |
| Серверная на MS SQL | План обслуживания с полной копией | Ежедневно, журнал транзакций — чаще |
| Любая | Выгрузка .dt из Конфигуратора | Перед обновлением конфигурации |
Файл 1Cv8.1CD нельзя копировать, пока в базе работают люди. Копия получится, но может не открыться. Копируйте после выхода всех пользователей или по расписанию ночью.
Отдельно запишите строку подключения каждой базы и пароль администратора кластера. В аварийной ситуации их ищут дольше всего.