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

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

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

Как правильно удалить базу с сервера 1С: через консоль кластера, СУБД и полностью. Резервная копия, риски, типичные ошибки и проверка результата.

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

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

Ниже разобраны все способы: от простого удаления из стартера 1С до полного удаления с сервера 1С и из СУБД, а также контрольные точки для проверки результата.

Определите, что именно нужно удалить

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

От выбранной задачи зависит инструмент. Для списка на клиенте достаточно кнопки «Удалить» в окне запуска. Для кластера используется консоль администрирования серверов 1С. Для СУБД — SQL Server Management Studio, pgAdmin или командная строка.

Маршрут решения

Как выбрать действие

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

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

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

Если база небольшая, допустима выгрузка в файл .dt через конфигуратор: «Администрирование» → «Выгрузить информационную базу». Учтите, что на базах в десятки гигабайт выгрузка может занять часы и потребовать значительного объёма оперативной памяти сервера.

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

Удалите базу из списка на клиенте (без потери данных)

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

Этот способ безопасен и обратим: базу можно в любой момент добавить обратно через кнопку «Добавить», указав сервер и имя информационной базы. Список баз хранится в файле ibases.v8i в профиле пользователя, поэтому удаление влияет только на текущего пользователя текущего компьютера.

Удалите информационную базу через консоль кластера серверов

Основной способ удаления базы с сервера 1С — консоль администрирования серверов 1С:Предприятия. Она устанавливается вместе с сервером 1С или отдельно на машину администратора.

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

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

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

Удалите базу данных на SQL-сервере вручную

Если регистрация в кластере уже удалена, а база данных осталась, либо вы предпочитаете полный контроль, удалите БД средствами СУБД. Для MS SQL Server откройте SQL Server Management Studio, подключитесь к экземпляру, найдите базу в списке, щёлкните правой кнопкой и выберите «Delete». Отметьте опцию закрытия существующих подключений, иначе удаление будет заблокировано активными сессиями.

Альтернатива — команда T-SQL:

sql
ALTER DATABASE [MyBase] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; DROP DATABASE [MyBase];

Для PostgreSQL используйте pgAdmin или команду DROP DATABASE. Учтите, что PostgreSQL не позволяет удалить базу с активными подключениями — их нужно завершить принудительно через pg_terminate_backend либо дождаться отключения клиентов.

После удаления убедитесь, что файлы данных и журнала транзакций (mdf, ldf) физически удалены с диска — при штатном DROP DATABASE это происходит автоматически, но при сбоях файлы могут остаться и занимать место.

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

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

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

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

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

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

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

База присутствует — удаление регистрации не завершено

Список баз на SQL-сервере
Норма

БД отсутствует в Management Studio или pgAdmin

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

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

Место на диске
Норма

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

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

Файлы остались — удалите их после проверки, что БД отсоединена

Типичные ошибки и ограничения

Типичные ошибки
01
Удаление базы только из списка на клиенте с уверенностью, что данные стёрты — данные остаются на сервере и доступны другим
02
Удаление регистрации в кластере без резервной копии с последующей потерей доступа к данным, если БД в СУБД тоже удалили
03
Попытка удалить БД в СУБД при активных подключениях — операция блокируется или завершается ошибкой
04
Удаление рабочей базы вместо тестовой из-за похожих имён — всегда сверяйте имя БД в свойствах информационной базы
05
Недостаток прав у учётной записи СУБД — регистрация удалена, а база данных осталась «осиротевшей»

Отдельное ограничение касается баз, задействованных в репликации, планах обслуживания, брокерах сообщений или связанных через linked server. Перед удалением проверьте такие зависимости, иначе после удаления начнут сбоить задания обслуживания и интеграции.

Если база используется в распределённой системе (УРБД) или как источник для внешних отчётов, удаление разорвёт эти связи. Зафиксируйте список интеграций до удаления и отключите их заранее.

Итог

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

Сначала — проверенная резервная копия, затем завершение сеансов, удаление регистрации в консоли кластера и при необходимости удаление БД средствами СУБД. Завершайте процедуру проверкой: базы нет ни в кластере, ни на SQL-сервере, файлы данных удалены.

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

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

Только из резервной копии: файла .dt или бэкапа СУБД. Штатных средств отмены удаления в 1С и в SQL-серверах нет, поэтому копия перед удалением обязательна.

Чем отличается «Удалить базу данных» от «Очистить базу данных» в консоли кластера?

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

База удалилась из кластера, но осталась на SQL-сервере. Что делать?

Это нормальная ситуация при нехватке прав учётной записи СУБД. Подключитесь к SQL-серверу через Management Studio или pgAdmin под учётной записью с достаточными правами и удалите БД вручную командой DROP DATABASE.

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

Нет, останавливать весь сервер не требуется. Достаточно завершить сеансы конкретной базы и установить блокировку новых соединений. Другие базы кластера продолжат работать без перерыва.

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

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

Удалится ли база у всех пользователей автоматически?

Нет. Записи в списках баз на клиентских компьютерах останутся и будут выдавать ошибку при запуске. Их нужно удалить вручную на каждом рабочем месте или централизованно, если список баз распространяется через общий файл или групповые политики.