Что делать, если потерян доступ к информационной базе 1С

· 9 мин

Содержание

Доступ к базе 1С пропадает по трём причинам: забыт пароль пользователя или администратора, база занята чужими сеансами и не пускает в монопольном режиме, либо повреждён сам файл данных. От того, какой случай у вас, зависит порядок действий — вплоть до того, нужен ли сервер или хватит обычного запуска.

Ниже — что проверить в первую очередь и как восстановить вход в файловой и клиент-серверной базе, снять блокировки сеансов и починить повреждённую базу. Примеры даны для платформы 8.3 с интерфейсом «Такси».

С чего начать: понять, что именно заблокировано

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

Запишите точный текст ошибки. По формулировке почти всегда видно, пароль это, блокировка или повреждение.

Заодно уточните, какая у вас база — файловая или клиент-серверная. Это видно в окне запуска 1С: у файловой в строке базы указан путь к папке на диске или в сети, у клиент-серверной — имя сервера и имя базы на нём. От типа базы зависит половина дальнейших шагов: пароли, блокировки и ремонт в них лечатся по-разному.

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

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

Сброс пароля пользователя в файловой базе

Самый частый случай — сотрудник забыл пароль, а у вас есть доступ администратора. Сбросить чужой пароль может только пользователь с полными правами.

В режиме 1С:Предприятие (если в конфигурации есть подсистема управления пользователями — БП 3.0, ЗУП 3.1, УТ 11):

  1. Войдите под учётной записью с полными правами.
  2. Откройте Администрирование → Настройки пользователей и прав → Пользователи.
  3. Откройте карточку нужного пользователя.
  4. Снимите или задайте новый пароль в поле пароля и запишите изменения.

Через Конфигуратор (работает в любой конфигурации, даже без подсистемы пользователей):

  1. Запустите базу в режиме Конфигуратор под учётной записью с административными правами.
  2. Откройте Администрирование → Пользователи.
  3. В карточке пользователя на вкладке Основные очистите пароль или задайте новый.
  4. Нажмите OK.

Это и есть «сброс пароля »: вы не узнаёте старый, а задаёте новый. Старый пароль платформа нигде не показывает — он хранится в виде хеша.

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

Если потеряны права или пароль администратора

Здесь всё зависит от того, остался ли в базе хоть один работающий администратор.

Есть второй пользователь с полными правами. Войдите под ним и либо сбросьте пароль первого администратора, либо верните нужному пользователю роль Администратор (в Конфигураторе — на вкладке Прочие карточки пользователя, галочка у роли; в режиме предприятия — переключатель прав доступа в карточке).

Список пользователей пуст. Если в базе не заведён ни один пользователь, платформа пускает без пароля с полными правами. Зайдите и сразу создайте администратора с паролем, иначе база открыта всем.

Вход настроен через учётную запись ОС. Если у пользователя включена аутентификация средствами операционной системы, пароль 1С вообще не спрашивается — вход идёт по текущей учётной записи Windows. Тогда «потеря пароля» на деле означает, что человек зашёл в систему под другой учётной записью или его запись в домене изменилась. Проверьте в карточке пользователя, какой способ входа включён, и при необходимости добавьте вход по паролю 1С в дополнение к входу по ОС.

Администратор единственный, пароль потерян. Честный ответ: штатного сброса пароля администратора в 1С нет — это защита от посторонних. Законные варианты:

  • восстановить базу из резервной копии, сделанной до смены пароля;
  • если копии нет — пароль задан относительно недавно и у вас остался более ранний бэкап, разверните его и перенесите свежие данные документами/обменом.

Сторонние утилиты, обещающие «сбросить пароль 1С», правят файл базы в обход платформы и могут её испортить. Для своей базы это крайний риск без гарантий; надёжнее дисциплина резервных копий (раздел ниже).

Восстановление доступа в клиент-серверной базе

В клиент-серверном варианте есть три независимых уровня доступа — не путайте их, лечится каждый по-своему.

Что потеряноГде хранитсяКак восстановить
Пароль пользователя ИБв самой информационной базесброс администратором — как в файловом варианте, через Конфигуратор или режим предприятия
Пароль администратора кластерав служебных файлах кластера на сервересм. ниже — через остановку службы и резервную копию
Логин СУБД (например, SQL Server)в самой СУБДсбрасывает администратор СУБД средствами СУБД, 1С здесь ни при чём

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

Администратор кластера. Если потерян пароль администратора кластера серверов 1С, не пересоздавайте кластер и не удаляйте базы — потеряете все информационные базы. Правильно:

  1. Остановите службу агента сервера 1С (Агент сервера 1С:Предприятия).
  2. Восстановите служебные файлы кластера из резервной копии каталога srvinfo, сделанной до установки пароля.
  3. Если копии нет — обратитесь к администратору сервера: список администраторов кластера хранится в файлах каталога srvinfo, и работа с ними требует прав на сервере.

Остановка службы агента обрывает ВСЕ сеансы всех баз на этом сервере. Делайте это только в согласованное окно, когда в базах никто не работает.

Логин СУБД. Если база не подключается из-за пароля учётной записи СУБД, это решает администратор СУБД: в SQL Server — через SSMS сменить пароль логина, затем прописать новый пароль в параметрах информационной базы в консоли администрирования.

Снятие блокировок сеансов и монопольного режима

Монопольный (исключительный) доступ нужен не всегда — только для обновления структуры базы, загрузки .dt, тестирования и исправления, удаления помеченных объектов. Если при такой операции вы видите «Не удалось заблокировать информационную базу», в базе есть активные сеансы.

Порядок действий:

  1. Посмотрите, кто в базе. В режиме предприятия — Администрирование → Активные пользователи (список сеансов). В клиент-серверном варианте — консоль администрирования серверов или утилита rac.
  2. Попросите выйти или дождитесь завершения — это самый безопасный способ.
  3. Закройте вход новым сеансам. В конфигурации есть блокировка начала работы пользователей (раздел Администрирование, пункт про блокировку работы/сеансов) — она не пускает новых, пока вы заняты обслуживанием.
  4. Принудительно завершите зависшие сеансы, если пользователь уже ушёл, а сеанс висит.

В клиент-серверной базе сеансы завершают из консоли администрирования (правой кнопкой по сеансу → удалить) либо командой rac:

rac session list --cluster=<идентификатор кластера>
rac session terminate --session=<идентификатор сеанса>

Точный синтаксис и дополнительные параметры смотрите в rac help — не угадывайте ключи.

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

Отдельно помните про фоновые и регламентные задания: они тоже держат базу. Если после закрытия всех видимых сеансов монополия всё равно не даётся, в списке сеансов, скорее всего, остался фоновый сеанс регламентного задания. На время обслуживания регламентные задания отключают — в конфигурации это делается в разделе Администрирование (управление регламентными операциями), а в клиент-серверной базе — ещё и установкой блокировки регламентных заданий в свойствах информационной базы на сервере.

Файловая база «занята», хотя никого нет. Иногда в каталоге файловой базы остаётся файл блокировки 1Cv8.cdn после аварийного закрытия. Если вы уверены, что база закрыта на всех компьютерах, его можно удалить — после этого вход освободится. Сначала убедитесь, что ни один сеанс не открыт, иначе повредите данные.

Когда база повреждена: проверка и восстановление файла

Если база не открывается ни в предприятии, ни в Конфигураторе, и в сообщении есть слова «формат потока», «ошибка формата», скорее всего повреждён файл данных.

Файловая база. Используйте утилиту проверки chdbfl.exe из каталога платформы (...\1cv8\<версия>\bin\chdbfl.exe):

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

Утилита лечит нарушения формата файла. Логические ошибки данных она не исправит — для этого есть Тестирование и исправление в Конфигураторе (Администрирование → Тестирование и исправление), которое требует монопольного доступа.

Признаки, что дело именно в повреждении, а не в пароле: база не открывается ни в одном режиме, сообщение появляется сразу при запуске, до окна входа, и повторяется на любом компьютере. Частая причина — аварийное завершение работы: отключили питание или закрыли процесс 1cv8 во время записи. После успешной проверки не продолжайте работать «как есть»: выгрузите базу в файл .dt (Администрирование → Выгрузить информационную базу) и сверьте ключевые остатки и итоги, чтобы убедиться, что данные целы.

Клиент-серверная база . chdbfl.exe здесь не применяется — данные лежат в СУБД. Восстанавливайте из резервной копии СУБД; средствами самой СУБД проверяйте целостность (в SQL Server — соответствующие проверки администратором СУБД).

Если повреждение серьёзное, самый быстрый и надёжный путь — развернуть вчерашний бэкап и довнести данные за день вручную. Это почти всегда быстрее, чем «вытаскивать» убитую базу.

Как не потерять доступ к базе снова

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

Защита доступа к базе 1С
Выполнено: 0 / 5

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

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

Можно ли узнать старый пароль пользователя 1С?
Нет. Пароль хранится в виде необратимого хеша, платформа его не показывает. Доступ возвращают только заданием нового пароля администратором.
Сбросил пароль пользователю, а он всё равно не входит — почему?
Проверьте, под той ли учётной записью он заходит (имя пользователя), не включена ли аутентификация средствами ОС (тогда пароль 1С не спрашивается) и не осталась ли у него галочка «Запомнить пароль» со старым значением.
Нужен ли сервер, чтобы сбросить пароль в клиент-серверной базе?
Нет. Пароль пользователя информационной базы сбрасывается Конфигуратором, подключённым к этой базе, под администратором ИБ. Останавливать службу сервера для этого не требуется.
Почему при обновлении пишет, что база занята, хотя я один?
Скорее всего открыт фоновый или фоновый регламентный сеанс либо второй ваш сеанс (например, в веб-клиенте). Посмотрите список активных сеансов и завершите лишние, затем повторите операцию.
Поможет ли chdbfl.exe, если база не открывается из-за пароля?
Нет. chdbfl.exe чинит повреждения файла данных, к паролям отношения не имеет. Если база открывается, но не принимает пароль — это другой случай, лечится сбросом пароля.