К статье
Практический материал

Администрирование · 9 мин

Как удалить базу данных 1С с сервера

Как безопасно удалить базу данных 1С с сервера: отличие от файловой базы, удаление через консоль кластера, SQL Server и PostgreSQL, резервные копии и проверка результата.

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

Правильная последовательность зависит от того, как именно развёрнута база: через консоль администрирования серверов 1С или вручную в СУБД с последующей регистрацией в кластере. Ниже разобраны оба сценария, а также подготовка, резервное копирование и проверка того, что удаление прошло полностью.

Перед любыми действиями убедитесь, что у вас есть актуальная выгрузка базы (файл .dt) или резервная копия средствами СУБД, и что база действительно больше не нужна. Восстановить удалённую базу без копии практически невозможно.

Что проверить перед удалением базы

Удаление необратимо, поэтому сначала ответьте на три вопроса. Первый — есть ли рабочая копия: выгрузка через конфигуратор (Администрирование → Выгрузить информационную базу) или backup средствами СУБД. Второй — не используется ли база другими системами: обмены, интеграции, внешние отчёты могут обращаться к ней напрямую. Третий — действительно ли нужно полное удаление, а не просто блокировка базы на время.

Проверьте, нет ли активных сеансов пользователей. В консоли кластера откройте нужную базу и посмотрите список сеансов. Если пользователи работают, завершите сеансы принудительно или дождитесь окончания работы — удаление базы с активными соединениями может завершиться ошибкой или оставить СУБД в неконсистентном состоянии.

Тип развёртыванияБаза в кластере 1С + СУБД

Уточните, создавалась ли база через консоль 1С или вручную в СУБД

Активные сеансыПользователи подключены

Посмотрите сеансы в консоли кластера и завершите их перед удалением

Резервная копияФайл .dt или backup СУБД

Проверьте, что копия существует и открывается на тестовом стенде

Создание резервной копии перед удалением

Самый простой способ — выгрузка через конфигуратор. Откройте базу в режиме конфигуратора, перейдите в меню «Администрирование → Выгрузить информационную базу» и укажите путь для файла .dt. Такой файл содержит и данные, и конфигурацию, его можно развернуть на любом другом сервере 1С той же или более новой версии платформы.

Для больших баз выгрузка в .dt может занимать часы и требовать монопольного доступа. Альтернатива — резервная копия средствами СУБД: в MS SQL Server это команда BACKUP DATABASE или задача в плане обслуживания, в PostgreSQL — утилита pg_dump. Такой backup создаётся быстрее и не требует выгона пользователей, но восстановить его можно только в ту же СУБД.

Удаление базы через консоль администрирования серверов 1С

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

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

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

Удаление базы вручную в СУБД

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

Удаление в MS SQL Server

Откройте SQL Server Management Studio, подключитесь к экземпляру сервера, найдите базу в списке. Кликните правой кнопкой → «Удалить», в диалоге отметьте опцию «Закрыть существующие соединения» (Close existing connections), иначе удаление завершится ошибкой при активных подключениях. Учётная запись должна иметь права на удаление базы — обычно это роль sysadmin или dbcreator.

Удаление в PostgreSQL

В PostgreSQL базу можно удалить через pgAdmin (правый клик по базе → Delete/Drop) или командой DROP DATABASE. Удаление невозможно, пока есть активные подключения к базе — их нужно завершить принудительно.

sql
-- PostgreSQL: завершить подключения и удалить базу
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'base1c' AND pid <> pg_backend_pid();
DROP DATABASE "base1c";

Удаление записи о базе из кластера 1С

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

Если консоль недоступна или сервер 1С не запускается, записи об информационных базах хранятся в файле реестра кластера (каталог srvinfo, файл 1CV8Clst.lst). Редактировать этот файл вручную можно только при остановленной службе агента сервера 1С, и это крайняя мера — ошибка в файле может повредить весь реестр кластера.

Типичные ошибки
01
Удаление базы только в SQL Server без очистки кластера — в списке баз остаётся «мёртвая» запись, при подключении к ней возникает ошибка
02
Удаление без резервной копии «на всякий случай» — если через неделю понадобится документ из старой базы, восстановить его будет нечем
03
Удаление при активных сеансах — операция завершается ошибкой или оставляет базу в состоянии restoring/suspect
04
Путаница между похожими именами баз — удаляется рабочая база вместо тестовой; всегда сверяйте имя базы в СУБД с именем в консоли кластера

Проверка результата и очистка остатков

После удаления убедитесь, что не осталось следов базы на всех уровнях. В консоли кластера база должна исчезнуть из списка информационных баз. В СУБД база не должна отображаться в списке databases. На диске сервера СУБД не должно остаться файлов данных и журналов транзакций этой базы.

Дополнительно проверьте списки баз у пользователей: если база добавлялась в список вручную, запись в файле ibases.v8i останется, и при запуске пользователь получит ошибку подключения. Удалите строку подключения из списка баз на клиентских машинах или через общий список баз, если он используется в сети.

Контрольные точки

Как проверить результат

Список баз в консоли кластера
Норма

Удалённой базы нет в списке информационных баз

Тревожный признак

Запись осталась — удалите её через консоль

Список баз в СУБД
Норма

База отсутствует в SQL Server или PostgreSQL

Тревожный признак

База на месте — удалите вручную средствами СУБД

Файлы на диске сервера СУБД
Норма

Файлы .mdf/.ldf или каталог базы удалены, место освобождено

Тревожный признак

Файлы остались — удалите их вручную после остановки зависимостей

Список баз у пользователей
Норма

Строка подключения удалена, ошибок при запуске нет

Тревожный признак

Пользователи видят ошибку соединения — очистите список баз

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

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

Только из резервной копии: файла выгрузки .dt или backup, сделанного средствами СУБД. Если копии нет, теоретически возможны попытки восстановления удалённых файлов данных специализированными утилитами, но шанс успеха невысок и зависит от того, перезаписывалось ли место на диске. Поэтому копия перед удалением обязательна.

Чем удаление отличается от блокировки базы?

Блокировка сеансов (в свойствах базы в консоли кластера) запрещает подключения пользователей, но все данные остаются на месте, и базу можно разблокировать в любой момент. Удаление уничтожает данные безвозвратно. Если база нужна «на всякий случай», но не должна использоваться — блокировка безопаснее.

Нужно ли удалять файловую базу 1С через консоль?

Нет. Файловая база — это каталог с файлом 1Cv8.1CD на диске. Достаточно удалить этот каталог средствами файлового менеджера и убрать базу из списка у пользователей. Консоль кластера и СУБД в этом случае не участвуют.

Что делать, если консоль выдаёт ошибку при удалении базы?

Чаще всего причина в активных сеансах или недостатке прав учётной записи СУБД. Завершите все сеансы базы в консоли кластера и проверьте, что учётная запись, от имени которой работает сервер 1С, имеет права на удаление базы в СУБД. Если ошибка повторяется, удалите базу вручную в СУБД, а затем очистите запись в кластере.

Нужно ли останавливать службу сервера 1С для удаления базы?

Нет, останавливать агент сервера 1С не требуется — удаление информационной базы выполняется «на горячую» через консоль. Остановка службы нужна только в исключительном случае ручного редактирования файла реестра кластера 1CV8Clst.lst.

Итог

Что важно запомнить

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