Что делать, если база данных 1С-Рарус заблокирована и помогает только откат системной даты

Системный администратор 1С v8.3 (Обычные формы) Управленческий учет Торговля и дистрибуция
← На главную

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

Первоочередной анализ: Специфика защиты 1С-Рарус (СЗК)

Рассмотрим ситуацию, когда стандартные методы администрирования 1С не помогают. В конфигурациях от компании «1С-Рарус», таких как «ТКПТ», используется собственная Система защиты и лицензирования (СЗК). Она работает параллельно со стандартной защитой HASP и имеет свои механизмы блокировки сеансов.

Выясним причину, по которой откат даты на один день назад (например, с 05.09.2020 на 04.09.2020) временно исправляет ситуацию. Это явный признак того, что сработал временной ограничитель. Проанализируем основные факторы:

  1. Истечение срока техподдержки или подписки: В СЗК Рарус может быть жестко прописана дата окончания действия лицензии или периода обновлений. Если текущая дата превышает установленный лимит, сервер защиты посылает платформе команду на блокировку новых соединений.
  2. Зависание службы сервера защиты: Проверьте состояние службы, которая обычно называется Rarus Soft Protection или Сервер защиты. Если служба запущена, но «зависла», она может транслировать некорректный статус лицензий.
  3. Связь с ключом защиты: Проверьте доступность программных или аппаратных ключей Рарус через веб-интерфейс менеджера лицензий (обычно доступен по порту 15200 или аналогичному, указанному в документации к СЗК).

Устранение фантомных блокировок на уровне SQL-сервера

Иногда флаг блокировки установки соединений «застревает» непосредственно в структурах базы данных на SQL-сервере. Даже если в консоли администрирования 1С флажок «Блокировка начала сеансов» снят, платформа может считывать обратное из системных таблиц. Разберем по шагам, как проверить таблицы базы данных:

Посмотрим на таблицу Params. В ней хранятся настройки информационной базы. Нам нужно проверить наличие записи dbms-session-lock. Для этого выполним SQL-запрос:

SELECT * FROM Params WHERE FileName = 'dbms-session-lock'

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

Также проанализируем таблицу Config. Если имело место неудачное динамическое обновление (так называемое «обновление демона»), в таблице могут остаться записи о монопольном режиме. В некоторых случаях помогает очистка таблицы ConfigSave, которая хранит промежуточные состояния конфигурации при обновлении:


-- Опасно! Выполнять только при наличии бэкапа и понимании процесса
DELETE FROM ConfigSave

Очистка серверных файлов и папки srvinfo

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

  1. Остановите службу Агент сервера 1С:Предприятия.
  2. Перейдите в каталог данных кластера. Обычно это путь: C:\Program Files\1cv8\srvinfo\reg_1541.
  3. Внутри папок с GUID вашей базы данных найдите и удалите временные файлы с расширением .lst и файлы внутри папок snccntx. Будьте осторожны: не удаляйте саму папку с GUID базы, только временное содержимое сеансов.
  4. Запустите службу заново.

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

Использование внешних инструментов администрирования

Если стандартная консоль mmc не отображает блокировки, попробуем альтернативные методы управления кластером. Для версий платформы 8.3.14 и выше рекомендуется использовать сервер администрирования ras и обработку «Управление серверами». Это позволяет взаимодействовать с сервером через программный интерфейс, который иногда видит больше данных, чем визуальная консоль.

Также рассмотрим возможность запуска клиента с параметром -debug. Как показывает практика, в некоторых версиях платформы (например, 8.3.23.2040) включение режима отладки на сервере странным образом обходит ложные сообщения о блокировке, позволяя зайти в систему и штатно снять флаги запрета входа.

Проблема Windows 10 в качестве сервера

Проанализируем ситуацию с использованием Windows 10 в качестве серверной операционной системы. Хотя технически 1С и SQL могут на ней работать, Windows 10 имеет жесткое ограничение на количество одновременных TCP-соединений (обычно не более 20). Если пользователь «Робот» или кассовые серверы генерируют большое количество запросов, лимит исчерпывается.

В этом случае платформа 1С не может получить ответ от менеджера блокировок и выдает типовое сообщение «База данных заблокирована», просто потому что не смогла «достучаться» до службы из-за ограничений ОС. В качестве решения рассмотрим перенос серверных компонентов на полноценную Windows Server или Linux.

Итоговый алгоритм действий

Если вы столкнулись с подобным «полтергейстом», рекомендуем придерживаться следующего плана:

  1. Проверка даты: Если откат даты помогает — немедленно проверяйте лицензии Рарус (СЗК) и срок их действия.
  2. Регламентные задания: Попробуйте запустить консоль кластера и временно установить галочку «Блокировка регламентных заданий включена», затем перезапустите службу Агента.
  3. Монопольный доступ: Попытайтесь зайти в базу в режиме Конфигуратор. Если это удается, выполните команду Администрирование -> Тестирование и исправление (только логическую проверку), это может сбросить флаг блокировки.
  4. Код разрешения: Если блокировка установлена программно, попробуйте запустить 1С с параметром /UC <код разрешения>, если этот код вам известен (часто используется при автоматических обновлениях).

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

← На главную