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

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

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

Как удалить информационную базу с сервера 1С: через консоль кластера, MS SQL и PostgreSQL. Резервная копия, отключение пользователей, типичные ошибки.

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

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

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

Подготовка: резервная копия и проверка, что база больше не нужна

Перед удалением убедитесь, что база действительно не используется: нет активных пользователей, регламентных заданий, обменов данными и интеграций, которые ссылаются на эту базу. Проверьте планировщик заданий Windows, настройки веб-сервисов и внешние системы — часто именно они «оживляют» удалённую базу ошибками подключения.

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

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

Завершение сеансов и блокировка базы

Откройте консоль кластера серверов 1С (на сервере, где установлена оснастка «Администрирование серверов 1С:Предприятия»), найдите нужную информационную базу и посмотрите список сеансов и соединений. Активные сеансы помешают удалению базы на уровне СУБД и могут привести к повреждению данных при принудительном сбросе.

Установите для базы блокировку начала сеансов: в свойствах информационной базы в консоли кластера задайте дату начала блокировки и сообщение для пользователей. Это не даст никому подключиться, пока идёт удаление. Затем завершите оставшиеся сеансы через контекстное меню сеанса — пункт «Удалить» завершает сеанс принудительно.

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

Порядок действий перед удалением
  1. 1
    Создайте и проверьте резервную копию базы средствами СУБД
  2. 2
    Установите блокировку начала сеансов в свойствах базы в консоли кластера
  3. 3
    Завершите активные сеансы, соединения и фоновые задания
  4. 4
    Убедитесь, что списки сеансов и соединений пусты

Удаление регистрации базы в консоли кластера серверов

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

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

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

Удаление базы данных на MS SQL Server

Откройте SQL Server Management Studio, подключитесь к экземпляру сервера под учётной записью с правами на удаление баз. Найдите базу в обозревателе объектов, щёлкните правой кнопкой и выберите «Удалить». В диалоге отметьте параметр «Закрыть существующие соединения» — иначе удаление завершится ошибкой, если к базе ещё кто-то подключён.

Альтернатива — команда T-SQL. Она удобна для скриптов и случаев, когда Management Studio недоступна:

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

Первая строка переводит базу в однопользовательский режим и принудительно разрывает соединения, вторая — удаляет базу. Используйте точное имя базы, сверив его со списком: на одном сервере часто лежат рабочая и тестовая базы с похожими именами, и ошибка в одном символе приведёт к удалению не той базы.

После удаления проверьте, что файлы базы (.mdf и .ldf) исчезли из каталога данных SQL Server. Если файлы остались — удалите их вручную, предварительно убедившись, что они действительно принадлежали удалённой базе.

Удаление базы данных на PostgreSQL

Для PostgreSQL подключитесь к серверу через pgAdmin или утилиту psql под пользователем с правами на удаление (обычно postgres). В pgAdmin выберите базу, щёлкните правой кнопкой и нажмите «Delete/Drop», предварительно завершив подключения к ней.

Через командную строку удаление выполняется одной командой. Утилита dropdb завершится ошибкой, если к базе есть активные подключения, поэтому сначала убедитесь, что служба агента сервера 1С уже не держит соединения — регистрация в кластере должна быть удалена заранее.

bash
dropdb -U postgres mybase

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

Сравнение вариантов удаления

Только из консоли кластера

Подходит, если данные на СУБД нужно сохранить для возможного восстановления регистрации. Данные продолжают занимать место на диске.

Консоль кластера + удаление на СУБД

Полное удаление базы и освобождение дискового пространства. Обязательна предварительная резервная копия.

Только на СУБД без консоли

Нежелательный вариант: в кластере останется недействительная регистрация, которая будет выдавать ошибки при обращении.

Частный случай: файловая база и 1С:Фреш

Если база работает в файловом режиме, сервер 1С не участвует. Достаточно удалить каталог с файлом 1Cv8.1CD и убрать строку из списка информационных баз в окне запуска (кнопка «Удалить» в списке баз). Предварительно убедитесь, что никто из пользователей не держит базу открытой, и сделайте копию каталога.

В облачном сервисе 1С:Фреш самостоятельно удалить базу с сервера нельзя — это делает оператор сервиса по заявке. В менеджере сервиса можно отключить приложение и прекратить абонемент, данные хранятся ограниченное время согласно условиям сервиса, после чего удаляются автоматически.

Проверка результата и типичные ошибки

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

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

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

Консоль кластера
Норма

Базы нет в списке информационных баз

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

База видна, при обращении — ошибка соединения с СУБД

СУБД
Норма

Базы нет в списке, файлы данных удалены

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

База или её файлы остались на диске

Журналы сервера
Норма

Нет периодических ошибок подключения к удалённой базе

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

Регламентные задания или внешние системы пытаются подключиться

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

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

Итог

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

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

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

Удалит ли консоль кластера данные с SQL-сервера?

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

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

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

Что делать, если база не удаляется из-за активных соединений?

Завершите сеансы и соединения в консоли кластера, включая фоновые задания. На MS SQL используйте перевод базы в однопользовательский режим с ROLLBACK IMMEDIATE, на PostgreSQL — завершение подключений через pg_terminate_backend. Проверьте также веб-сервисы и внешние приложения, которые могут держать соединение.

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

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

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

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