Удаление серверной базы 1С:Предприятие — операция, требующая аккуратности даже от опытных администраторов. Ошибки здесь чреваты не только потерей данных, но и сбоями в работе кластера серверов, конфликтами с другими базами или даже повреждением системных каталогов. В отличие от локальных файловых баз, серверные версии (1С:Предприятие 8.3 и новее) хранят данные в SQL-серверах (Microsoft SQL Server, PostgreSQL) или специализированных хранилищах, что усложняет процесс удаления.

Эта статья покрывает все актуальные сценарии: от ручного удаления через Конфигуратор до командной строки для Linux-серверов. Мы разберём, как избежать типичных ошибок (например, удаления только части базы, когда остаются «хвосты» в реестре или конфигурационных файлах), а также дадим чек-листы для проверки результата. Если вы администрируете на виртуальных машинах или в облачных средах (1С:Fresh, Azure), обратите внимание на отдельный раздел с нюансами для таких случаев.

1. Подготовка к удалению: что нужно сделать ДО операции

Прежде чем приступать к удалению, убедитесь, что база не используется активными сессиями. Даже одно подключённое рабочее место может заблокировать критические таблицы и привести к сбою. Проверьте это через:

  • 🔹 Монитор кластера 1С: откройте Администрирование → Кластеры серверов 1С:Предприятия и посмотрите список активных соединений.
  • 🔹 SQL Management Studio (для MS SQL): выполните запрос SELECT * FROM sys.dm_exec_sessions WHERE program_name LIKE '%1C%'.
  • 🔹 Командную строку PostgreSQL: SELECT * FROM pg_stat_activity WHERE application_name LIKE '%1C%';

Если база используется, принудительно завершите сессии через те же инструменты. Также обязательно создайте резервную копию — даже если вы уверены, что данные не нужны. Для этого:

  1. В Конфигураторе выберите Администрирование → Выгрузить информационную базу (формат .dt).
  2. Для SQL-баз сделайте бэкап через нативные инструменты сервера (например, pg_dump для PostgreSQL).
💡

Если база весит более 50 ГБ, используйте сжатие при выгрузке через параметр /Zip в командной строке . Например: "C:\Program Files\1cv8\8.3.20.1500\bin\1cv8.exe" DESIGNER /IBName "ИмяБазы" /DumpIB "C:\backup\base.dt" /Zip

⚠️ Внимание: Если база интегрирована с внешними системами (например, через REST API или Kafka), удаление может нарушить работу этих систем. Проверьте настройки обмена в Администрирование → Интеграция.

2. Способ 1: Удаление через Конфигуратор 1С

Самый визуально понятный метод, но работает только если база зарегистрирована в списке информационных баз текущего пользователя. Инструкция:

  1. Запустите 1cv8.exe в режиме Конфигуратора (удерживайте Shift при запуске ярлыка 1С).
  2. В окне выбора баз выделите нужную и нажмите Удалить (или Del).
  3. Подтвердите действие. Если база файловая, будет удалён каталог с данными. Для SQL-баз — только запись в списке, но не сами таблицы!

Для полного удаления SQL-базы после этого шага перейдите к разделу про SQL-серверы.

База исчезла из списка в Конфигураторе|Каталог с файлами базы (для файлового варианта) удалён|Нет ошибок в журнале кластера 1С (C:\ProgramData\1C\1cv8\logs\*)|Проверены права доступа к оставшимся базам-->

3. Способ 2: Удаление через администрирование кластера серверов 1С

Если база зарегистрирована на сервере 1С:Предприятие, её нужно удалить из кластера. Это актуально для многопользовательских конфигураций (УТ 11, ERP 2, ЗУП 3).

  1. Откройте Пуск → 1С Предприятие 8.3 → Администрирование кластера серверов.
  2. Подключитесь к центральному серверу кластера (по умолчанию localhost на порту 1541).
  3. Перейдите в Информационные базы, выделите нужную и выберите Удалить.
  4. Отметьте галочку Удалить данные информационной базы (иначе останутся файлы на диске).

Для Linux-серверов используйте утилиту rac:

rac infobase --cluster=ИмяКластера delete --name=ИмяБазы --drop
⚠️ Внимание: Если кластер работает в режиме высокой доступности (с резервными серверами), удаление нужно выполнить на всех узлах, иначе возможны репликационные конфликты.

4. Способ 3: Ручное удаление SQL-базы

Для Microsoft SQL Server

Если база SQL, её нужно удалить непосредственно на сервере. Для Microsoft SQL Server:

  1. Откройте SQL Server Management Studio и подключитесь к экземпляру.
  2. В Object Explorer найдите базу (обычно имя совпадает с именем в 1С, но может иметь префикс 1C_).
  3. ПКМ → Delete. В окне подтверждения выберите Close existing connections (закрыть активные соединения).

Для PostgreSQL используйте команду:

DROP DATABASE "ИмяБазы";
Тип сервера Команда удаления Дополнительные действия
Microsoft SQL Server DROP DATABASE [ИмяБазы] Удалить логин 1С (DROP LOGIN [1C_User]), если он не используется другими базами
PostgreSQL DROP DATABASE "ИмяБазы" Удалить роль: DROP ROLE "1c_role"
Файловая база Удалить каталог вручную Проверьте 1CV8Reg на наличие записей о базе
Что делать если SQL не даёт удалить базу?

Если при удалении вы видите ошибку "Database is in use", выполните:

  1. Запустите новый запрос: ALTER DATABASE [ИмяБазы] SET SINGLE_USER WITH ROLLBACK IMMEDIATE.
  2. Повторите удаление.

Для PostgreSQL принудительно завершите сессии: SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE datname = 'ИмяБазы';

5. Удаление файловой базы 1С

Файловые базы хранятся в каталоге, указанном при создании (по умолчанию — C:\Users\Public\1C\1Cv8 или /var/1C/1cv8 на Linux). Чтобы полностью удалить такую базу:

  1. Удалите каталог с данными (например, C:\Bases\УТ_Основная).
  2. Очистите записи в реестре Windows (если база регистрировалась глобально):
    • Откройте regedit.
    • Перейдите в HKEY_CURRENT_USER\Software\1C\1Cv8\8.3\1C:Enterprise 8.3\IBases.
    • Удалите раздел с именем базы.
  3. На Linux проверьте файлы конфигурации в /etc/1C/conf и ~/.1cv8/1C/1cv8/.

    📊 Какой тип базы 1С вы администрируете чаще?
    Файловая
    Microsoft SQL Server
    PostgreSQL
    Не знаю

    6. Особенности удаления в облачных средах (1С:Fresh, Azure, AWS)

    В облачных решениях (1С:Fresh, 1С:ГК на Azure) прямого доступа к SQL-серверу нет. Здесь действуют другие правила:

    • 🔹 1С:Fresh: Удаление возможно только через личный кабинет на портале . База помечается как удалённая и хранится 30 дней (на случай восстановления).
    • 🔹 Azure/AWS: Если 1С развёрнута на виртуальной машине, используйте стандартные методы (см. раздел про SQL). Для managed-баз (например, Azure SQL Database) удаление выполняется через портал облачного провайдера.
⚠️ Внимание: В 1С:Fresh после удаления базы все интеграции (например, с Битрикс24 или МойСклад) автоматически отключаются. Перед удалением экспортируйте настройки обмена через Администрирование → Интеграция → Настройки синхронизации.

7. Проверка результата и устранение ошибок

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

  1. Для SQL-баз: Убедитесь, что имя базы не отображается в SQL Management Studio или psql.
  2. Для файловой базы: Проверьте, что каталог физически удалён с диска.
  3. Для кластера 1С: Откройте Администрирование кластера и обновите список баз (F5).

Типичные ошибки и их решения:

Ошибка Причина Решение
Не удалось удалить базу: доступ запрещён Недостаточно прав на SQL-сервере Запустите SSMS от имени администратора или используйте учётку sa
Информационная база используется Активные сессии или блокировки Принудительно завершите процессы (см. раздел про SQL)
База исчезла из списка, но занимает место на диске Не удалены файлы .1CD или .mdf/.ldf Удалите файлы вручную через Проводник или rm (Linux)
💡

Если после удаления SQL-базы место на диске не освободилось, проверьте файл транзакций (.ldf). Иногда он разрастается до сотен гигабайт. Для сжатия используйте команду: DBCC SHRINKFILE (ИмяБазы_log, 1)

FAQ: Частые вопросы по удалению баз 1С

Можно ли восстановить базу после удаления?

Если вы сделали резервную копию (.dt или SQL-дамп) — да. Для файловой базы достаточно скопировать каталог обратно. Для SQL-баз восстановите бэкап через SSMS или pg_restore. Без бэкапа восстановление возможно только через специализированные утилиты (например, ApexSQL Recover для MS SQL), но гарантий нет.

Почему после удаления базы в 1С она снова появляется?

Скорее всего, база зарегистрирована в центральном каталоге информационных баз. Удалите запись в HKEY_LOCAL_MACHINE\SOFTWARE\1C\1Cv8\8.3\InfoBases (для Windows) или в файле /etc/1C/conf/srv1cv8.conf (для Linux). Также проверьте настройки групповых политик, если 1С развёрнута в домене.

Как удалить базу, если нет прав администратора?

Обратитесь к администратору сервера. Альтернативный вариант (только для файловой базы): скопируйте каталог с данными на локальный диск, а затем удалите оригинал. Для SQL-баз без прав sa или db_owner удаление невозможно.

Что будет, если удалить базу, к которой подключены внешние отчёты (например, Power BI)?

Внешние отчёты перестанут работать, так как потеряют источник данных. Если интеграция настроена через OData, проверьте настройки публикации в Администрирование → Публикация на веб-сервере. Для Power BI потребуется перенастроить подключение к другой базе.

Как удалить базу на сервере 1С, если он находится в другом городе?

Используйте удалённое подключение:

  1. Для Windows: подключитесь через RDP или TeamViewer.
  2. Для Linux: используйте ssh + rac (например, ssh admin@server "rac infobase delete --name=База --drop").
  3. Для SQL-баз: подключитесь к SQL Server через SSMS по IP-адресу (предварительно настройте проброс портов).