Удаление информационной базы с сервера 1С без следов: кластер, СУБД, каталоги и кэш

· 11 мин

Содержание

Чтобы полностью удалить базу 1С с сервера, нужно пройти три уровня: снять регистрацию информационной базы в кластере 1С, удалить саму базу данных в СУБД (MS SQL или PostgreSQL) и подчистить остатки на дисках — каталог базы в srvinfo, веб-публикацию, списки баз и кэш у пользователей. Если сделать только первый шаг, база исчезнет из консоли, но таблицы на десятки гигабайт останутся в СУБД.

Порядок зависит от варианта работы. Для клиент-серверной базы удобнее всего удалить её из консоли кластера с флажком удаления базы данных — тогда сервер 1С сам выполнит удаление в СУБД. Для файловой базы, лежащей на сервере, кластер не участвует: удаляется каталог с файлом 1Cv8.1CD. Платформу 1С при этом трогать не нужно, если на сервере остаются другие базы.

Где «живёт» базаЧто удаляемЧем
Кластер серверов 1Срегистрацию информационной базыконсоль администрирования или rac
СУБДбазу данных с таблицамиконсоль кластера (флажок) или SQL-команда
Диск сервера 1Скаталог базы в reg_1541, журналыпроводник, при остановленной службе
Веб-серверпубликацию базыwebinst, менеджер IIS, конфиг Apache
Компьютеры пользователейстроку в списке баз, кэшокно запуска 1С, %APPDATA%

1. Подготовка: копия, сеансы и всё, что ссылается на базу

Удаление базы данных в СУБД необратимо. Корзины там нет.

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

Что проверить до удаления:

  • 📋 Имя базы в СУБД. Оно может не совпадать с именем в кластере. Откройте свойства информационной базы в консоли и выпишите поля «Сервер баз данных», «Тип СУБД» и «База данных». Удалять в СУБД будете именно это имя.
  • 🔗 Не зарегистрирована ли та же база в другом кластере. Бывает, что тестовый сервер 1С смотрит на ту же базу данных. Удаление с флажком «удалить базу данных» снесёт её для обоих.
  • 🕒 Регламентные задания и скрипты. Планы обслуживания SQL, задания резервного копирования, пакетные файлы с 1cv8.exe DESIGNER, обмены с другими базами — после удаления они начнут падать с ошибками.
  • 🌐 Веб-публикация и мобильные клиенты. Если база опубликована, ссылка перестанет работать, но сама публикация останется.
  • 👥 Пользователи. Предупредите всех, кто работал в базе, и уберите её из общих списков.

Как завершить сеансы

Пока к базе подключены пользователи или фоновые задания, СУБД не даст её удалить.

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

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

Перед удалением базы с сервера
Выполнено: 0 / 7

2. Удаление информационной базы из кластера серверов 1С

Это главный шаг. Здесь же можно сразу удалить и базу данных в СУБД.

Через консоль администрирования серверов

  1. Запустите «Администрирование серверов 1С Предприятия» и подключитесь к центральному серверу.
  2. Раскройте Кластеры → <ваш кластер> → Информационные базы.
  3. Щёлкните базу правой кнопкой и выберите «Удалить».
  4. В окне удаления введите имя и пароль администратора информационной базы (пользователя 1С с полными правами). Если в базе нет пользователей, поля оставьте пустыми.
  5. Выберите действие с базой данных. Вариантов три: удалить базу данных, очистить её (таблицы удаляются, пустая база в СУБД остаётся) или оставить базу данных в СУБД без изменений.
  6. Для полного удаления выберите удаление базы данных и подтвердите.

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

Если консоль не запускается после переустановки платформы, перерегистрируйте оснастку: regsvr32 "C:\Program Files\1cv8\<версия>\bin\radmin.dll" из командной строки администратора.

Через rac (сервер администрирования RAS)

На Linux и на серверах без графической консоли удобнее утилита rac. Ей нужен запущенный сервер администрирования ras (по умолчанию порт 1545).

rem 1. Узнаём идентификатор кластера
rac cluster list

rem 2. Находим идентификатор базы
rac infobase summary list --cluster=<uuid кластера>

rem 3. Удаляем базу из кластера вместе с базой данных в СУБД
rac infobase drop --cluster=<uuid кластера> --infobase=<uuid базы> ^
  --infobase-user=Администратор --infobase-pwd=<пароль> --drop-database

Если на кластере заданы администраторы, добавьте --cluster-user и --cluster-pwd. Вместо --drop-database можно указать --clear-database — это аналог очистки. Без обоих ключей база удалится только из кластера. Полный список параметров — в rac help infobase.

Перед удалением полезно посмотреть сеансы : rac session list --cluster=<uuid> --infobase=<uuid>.

3. Удаление базы данных в MS SQL и PostgreSQL вручную

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

MS SQL Server

В SQL Server Management Studio: правой кнопкой по базе → «Удалить» → включите «Закрыть существующие соединения» → «ОК». То же самое запросом:

-- имя базы берите из свойств ИБ в консоли кластера
ALTER DATABASE [buh_old] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE [buh_old];

После удаления проверьте:

  • 🗑️ Файлы .mdf и .ldf. DROP DATABASE удаляет их сам, если база была в режиме «в сети». База в режиме offline удаляется из SQL Server, а файлы остаются на диске — их нужно удалить вручную.
  • 🔑 Логин SQL. Если под базу создавался отдельный логин, удалите его в Безопасность → Имена входа, когда он больше нигде не используется.
  • 🕒 Планы обслуживания и задания SQL Agent. Задание резервного копирования, где база указана явно, будет падать каждую ночь.
  • 💾 Старые бэкапы. Каталог резервных копий часто занимает больше места, чем сама база.

PostgreSQL

Подключитесь к любой другой базе (например, postgres) — удалить базу, к которой вы подключены, нельзя.

-- PostgreSQL 13 и новее: соединения закрываются автоматически
DROP DATABASE "buh_old" WITH (FORCE);

-- более старые версии: сначала закрыть соединения
SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = 'buh_old' AND pid <> pg_backend_pid();
DROP DATABASE "buh_old";

Из командной строки то же делает dropdb -U postgres buh_old. Место на диске освобождается сразу: у PostgreSQL каждая база лежит отдельным каталогом внутри каталога данных.

Проверьте имя дважды. Базы buh и buh_old легко перепутать, а отменить DROP DATABASE нельзя — только восстановить из копии.

4. Очистка каталогов сервера 1С, веб-публикации и кэша клиентов

После удаления из кластера на дисках остаются служебные данные. Они не мешают работе, но занимают место и путают при следующей настройке.

Каталог базы в srvinfo

Сервер 1С хранит данные кластера в каталоге srvinfo. Внутри reg_1541 (номер совпадает с портом менеджера кластера) у каждой информационной базы есть своя папка с именем-идентификатором, например reg_1541\8f1b...-.... В ней — журнал регистрации, кэш конфигурации, данные полнотекстового поиска.

Типичные расположения:

ОСКаталог
Windows, служба по умолчаниюC:\Program Files\1cv8\srvinfo\reg_1541\
Linux/home/usr1cv8/.1cv8/1C/1cv8/reg_1541/

Если каталог srvinfo переносили, его путь виден в параметрах службы агента (ключ -d в командной строке запуска).

Как удалить папку базы:

  1. Узнайте идентификатор удалённой базы — он был в выводе rac infobase summary list или в свойствах базы. Если не записали, сравните список папок с идентификаторами оставшихся баз: лишняя папка и есть удалённая.
  2. Обычно папка удаляется и без остановки службы. Если Windows пишет, что файл занят, остановите службу агента сервера 1С.
  3. Удалите папку и запустите службу.

Остановка службы агента обрывает сеансы во ВСЕХ базах этого сервера. Делайте это только в согласованное окно. Остальные папки и файлы в reg_1541 (список кластера 1CV8Clst.lst, папки других баз) не трогайте — без них кластер потеряет настройки.

Файловая база на сервере

Если база файловая и просто лежит в общей папке сервера, удаление — это удаление всего её каталога: 1Cv8.1CD и служебных файлов рядом. Сначала убедитесь, что никто не работает в базе: пока файл открыт хотя бы одним пользователем, Windows его не отдаст. В оснастке «Общие папки» → «Открытые файлы» видно, кто держит 1Cv8.1CD.

Веб-публикация

Если базу публиковали на веб-сервере, удалите публикацию — иначе по адресу будет открываться ошибка подключения к несуществующей базе.

  • IIS: удалите виртуальный каталог базы в диспетчере IIS, затем папку публикации с файлом default.vrd.
  • Apache: удалите блок публикации из httpd.conf (строки Alias, <Directory> и ib= с именем базы), перезапустите Apache, удалите папку с default.vrd.
  • Утилита webinst умеет удалять публикацию ключом -delete; точный набор параметров для вашей версии смотрите в выводе webinst -?.

Списки баз и кэш на компьютерах пользователей

На клиентах база остаётся строкой в окне запуска и кэшем:

  • 📄 Список баз: %APPDATA%\1C\1CEStart\ibases.v8i. Проще удалить строку через окно запуска 1С кнопкой «Удалить».
  • 🧹 Кэш: папки с идентификаторами в %APPDATA%\1C\1cv8\ и %LOCALAPPDATA%\1C\1cv8\. Удаление кэша безопасно для других баз: платформа заново создаст его при следующем запуске.
  • 🗂️ Общий список баз. Если базы раздаются через 1CEStart.cfg (параметр CommonInfoBases) или через сервер списка баз, уберите строку и там. Иначе база вернётся в окно запуска у всех.

5. Реестр Windows, службы и задачи: что действительно нужно чистить

Информационные базы 1С в реестре Windows не регистрируются. Список баз хранится в файлах, кластер — в srvinfo. Поэтому «чистка реестра от базы» сводится к проверке смежных мест.

Где реально остаются следы базы:

  • ⏰ Планировщик заданий Windows. Задачи, запускающие 1cv8.exe с параметром /S<сервер>\<база> или пакетные файлы выгрузки.
  • 📜 Скрипты и ярлыки. Ярлыки на рабочих столах с параметром /IBName или /S, bat-файлы резервного копирования.
  • 🔄 Другие базы. Узлы планов обмена, в которых удалённая база указана как получатель. Их нужно пометить на удаление или отключить синхронизацию в базе-партнёре.
  • 🔐 Брандмауэр и порты. Если под базу открывали отдельный кластер с нестандартными портами, правила стоит закрыть.

В реестре записи относятся к платформе, а не к базам: службы сервера 1С (ветка HKLM\SYSTEM\CurrentControlSet\Services), данные установщика, регистрация COM-компонент. Их убирает штатная деинсталляция платформы, ручная правка не нужна.

6. Удаление платформы 1С:Предприятие, если сервер больше не нужен

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

  1. Убедитесь, что в кластере не осталось информационных баз: rac infobase summary list возвращает пустой список.
  2. Остановите службы агента сервера 1С и сервера администрирования (ras), если он установлен службой.
  3. Удалите все версии платформы через «Программы и компоненты» (appwiz.cpl). Каждая версия удаляется отдельно.
  4. Проверьте, что службы исчезли: sc query state= all | findstr /i 1C. Если служба осталась (например, регистрировали вручную), удалите её sc delete "<точное имя службы>".
  5. Удалите каталог srvinfo и остатки C:\Program Files\1cv8\.

Каталог C:\ProgramData\1C\licenses хранит программные лицензии сервера. Если лицензию планируется перенести на другой сервер, не удаляйте файлы вслепую: перенос программной лицензии выполняется через повторную активацию, и для неё понадобятся пин-коды комплекта.

На Linux платформа удаляется пакетным менеджером (apt remove или dnf remove пакетов 1c-enterprise-*), служба — через systemctl disable и удаление её unit-файла, если он создавался вручную.

7. Как проверить, что база удалена полностью

Пройдитесь по всем трём уровням.

ПроверкаКакОжидаемый результат
Кластерrac infobase summary list --cluster=<uuid> или консольбазы нет в списке
MS SQLSELECT name FROM sys.databases;имени базы нет
PostgreSQLSELECT datname FROM pg_database; или \l в psqlимени базы нет
Диск сервера 1Ссодержимое reg_1541нет папки с идентификатором базы
Диск СУБДкаталог файлов данныхнет .mdf/.ldf базы, место освободилось
Вебадрес бывшей публикации404, а не ошибка 1С
Клиентыокно запуска 1Сбазы нет в списке
Диагностика: выберите симптом

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

Можно ли восстановить базу после удаления с сервера?
Только из резервной копии: выгрузки .dt или бэкапа СУБД. Сервер 1С и СУБД удалённые базы не хранят.
Чем очистка базы данных отличается от удаления?
При очистке таблицы удаляются, но пустая база в СУБД остаётся с прежним именем и настройками. Удобно, если на её месте сразу будет создана новая информационная база.
Нужно ли удалять базу из кластера, если её уже удалили в SQL?
Да. Иначе регистрация останется в кластере, и при подключении пользователи получат ошибку подключения к базе данных. Удалите её с вариантом «оставить базу данных без изменений».
Освобождается ли лицензия после удаления базы?
Клиентские лицензии занимаются сеансами, а не базами. Как только сеансы удалённой базы завершены, лицензии свободны для других баз.
Как удалить сразу несколько старых баз?
Через rac в цикле: получить список командой infobase summary list и для каждой нужной базы выполнить infobase drop с ключом –drop-database. Список баз для удаления лучше составить заранее и сверить вручную.