Как удалить информационную базу в консоли кластера 1С, если мешает соединение «консоль кластера»?

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

При администрировании серверов 1С:Предприятие 8.3 системные администраторы часто сталкиваются с парадоксальной ситуацией: при попытке удалить информационную базу через консоль администрирования (MMC-оснастку) система выдает ошибку «Список соединений не пустой». При этом в списке активных пользователей отображается единственное соединение — сама «Консоль кластера». Попытка принудительно разорвать это соединение ни к чему не приводит, так как оно мгновенно пересоздается. Рассмотрим подробно, почему это происходит и какими способами можно окончательно удалить базу.

Выясним причину проблемы

Данная ситуация официально признана ошибкой платформы (например, в релизах 8.3.17.1851 и 8.3.18.1208). Суть бага заключается в том, что механизм консоли при проверке возможности удаления базы сам инициирует сеанс к этой базе. Этот сеанс блокирует удаление, создавая замкнутый круг. В более новых релизах проблему исправили, но если вы работаете на специфической версии платформы, разберем по шагам рабочие методы решения.

Метод 1. Установка блокировок и удаление сеансов

Проанализируем самый «мирный» способ, который не требует остановки всего сервера 1С. Нам необходимо максимально ограничить активность в базе, чтобы консоль не могла создать устойчивое соединение.

  1. Откроем свойства информационной базы в консоли кластера.
  2. Установим галочку «Блокировка начала сеансов включена».
  3. Установим галочку «Блокировка регламентных заданий включена».
  4. Перейдем в ветку «Сеансы» и удалим абсолютно все записи.
  5. Сразу после этого, не закрывая консоль, попробуем выполнить команду «Удалить» для информационной базы.

Важный момент: если этот способ не помогает, попробуйте перед удалением закрыть саму оснастку MMC и зайти в нее снова. Иногда «зависшее» соединение удерживается именно открытым окном свойств.

Метод 2. Работа через SQL Server (перевод в Offline)

Если 1С не дает удалить регистрацию базы из-за активных соединений, мы можем разорвать их на уровне системы управления базами данных (СУБД). Рассмотрим пример для MS SQL Server. Мы принудительно переведем базу в автономный режим, что разорвет все TCP-соединения со стороны сервера приложений 1С.

Выполним следующий скрипт в SQL Management Studio:


USE master
GO
ALTER DATABASE [ИМЯ_ВАШЕЙ_БД] SET OFFLINE WITH ROLLBACK IMMEDIATE
GO

После выполнения этого кода база станет недоступна для сервера 1С. Теперь вернемся в консоль кластера 1С и попробуем удалить базу. При запросе системы выберем вариант «Удалить информационную базу» и подтвердим действие. Если SQL-база вам больше не нужна, не забудьте потом удалить ее физически через Management Studio, предварительно вернув в онлайн:


USE master
GO
ALTER DATABASE [ИМЯ_ВАШЕЙ_БД] SET ONLINE
GO

Метод 3. Загрузка пустой конфигурации

Разберем интересный «лайфхак», который часто помогает на проблемных релизах платформы. Суть в том, что база с данными и сложной структурой пользователей может инициировать фоновые процессы при подключении консоли.

  1. Создадим на локальном ПК пустую файловую базу.
  2. Выгрузим из нее файл конфигурации (.cf) или создадим файл выгрузки (.dt).
  3. Загрузим эту «пустышку» в нашу проблемную серверную базу через Конфигуратор.
  4. После этого база станет максимально легкой, без пользователей и регламентных заданий. Как показывает практика, такие базы консоль удаляет без лишних вопросов.

Метод 4. Прямое редактирование файла списка кластера (1CV8CLst.lst)

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

  1. Остановим службу 1C:Enterprise 8.3 Server Agent (ragent).
  2. Перейдем в каталог с данными кластера (по умолчанию это C:\Program Files\1cv8\srvinfo\reg_1541).
  3. Найдем файл 1CV8CLst.lst. Это текстовый файл, содержащий структуру вашего кластера.
  4. Обязательно сделайте резервную копию этого файла!
  5. Откроем файл в текстовом редакторе (например, Notepad++). Проанализируем структуру: найдем блок, соответствующий вашей базе (ищите по имени).
  6. Удалим описание этой базы из массива или, как советуют опытные администраторы, просто изменим параметры подключения (например, имя пользователя БД на заведомо ложное).
  7. Сохраним файл и запустим службу 1С.
  8. Теперь в консоли база либо исчезнет, либо позволит себя удалить, так как старые блокирующие механизмы перестанут работать.

Метод 5. Использование утилиты командной строки RAC

Посмотрим на альтернативный способ управления кластером без использования графической оболочки MMC. Утилита rac работает через сервер администрирования ras и часто игнорирует те блокировки, которые создает сама консоль.

Для удаления базы используем команду:

rac infobase --cluster=[ID_кластера] drop --infobase=[ID_базы] --drop-database

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

Решение проблемы с «фантомными» базами

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

  1. При удалении в диалоговом окне выберите вариант «Оставить без изменений» (вместо «Удалить базу данных»). Это заставит сервер 1С просто стереть запись в своем реестре, не пытаясь достучаться до отсутствующей SQL-базы.
  2. Если это не помогает, выполните очистку кэша сервера. Для этого при остановленной службе удалите папку с UUID этой базы внутри каталога reg_1541\snccnt....

Подведем итог: наиболее эффективным и быстрым способом в большинстве случаев является либо перевод базы в Offline в SQL, либо загрузка пустой конфигурации. Если же вы столкнулись с системным сбоем регистрации, поможет только манипуляция с файлом 1CV8CLst.lst при остановленном сервере.

← На главную