Как удалить базу 1С: файловую и клиент-серверную без следов

· 10 мин

Содержание

Самая частая ошибка: нажали Удалить в окне запуска 1С, запись из списка пропала — а место на диске не освободилось ни на мегабайт. Так и должно быть. Эта кнопка убирает только строку из списка баз, сами данные остаются лежать на диске или на SQL-сервере.

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

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

Что вы на самом деле удаляете: запись или данные

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

  • 🗂️ Регистрация базы — строка в списке запуска (файл ibases.v8i) для файловой базы или запись в кластере серверов для клиент-серверной. Это просто ссылка: имя, путь или адрес.
  • 💾 Сами данные — файл 1Cv8.1CD в папке файловой базы либо база данных на SQL-сервере. Именно они занимают гигабайты.

Кнопка Удалить в стартовом окне и команда Удалить в консоли администрирования по умолчанию трогают только регистрацию. Данные при этом остаются. Поэтому порядок действий всегда такой: сначала узнайте путь к данным, потом удаляйте регистрацию, потом физически сносите данные.

Если удалить только запись из списка, а потом забыть про папку или SQL-базу — вы получите «мусорные» гигабайты, которые потом трудно соотнести с конкретной базой.

Как узнать, где лежат данные, перед удалением:

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

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

Перед удалением стоит потратить пять минут на проверку. Отменить операцию будет нельзя.

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

Как снять резервную копию в зависимости от типа:

  1. Выгрузка в файл. Запустите базу в режиме Конфигуратор, затем Администрирование → Выгрузить информационную базу. Получится файл .dt — это полный слепок данных и конфигурации, из него база разворачивается заново.
  2. Копия файла (только файловая). Закройте все сеансы и просто скопируйте папку с файлом 1Cv8.1CD в надёжное место.
  3. Бэкап средствами СУБД (клиент-серверная). Сделайте backup базы данных в MS SQL Management Studio или pg_dump в PostgreSQL — это надёжнее выгрузки .dt для крупных баз.

Выгрузка в .dt компактнее копии файла, но на больших базах (десятки гигабайт) идёт долго и иногда падает по памяти. Для рабочих баз надёжнее бэкап средствами SQL-сервера.

Проверьте, что в базе никого нет. В файловой достаточно, чтобы её все закрыли. В клиент-серверной посмотрите активные сеансы: в консоли администрирования раздел Сеансы по нужной базе либо командой rac session list --cluster=<uuid-кластера>. Удалять базу с живыми сеансами нельзя — пользователи получат аварийное завершение.

Как удалить файловую базу 1С

Файловая база — это обычная папка на диске или в сети. Удаляется в два шага.

Шаг 1. Уберите базу из списка запуска.

  1. Откройте стартовое окно 1С (список информационных баз).
  2. Выделите ненужную базу.
  3. Нажмите Удалить справа.
  4. Подтвердите. Строка исчезнет из списка.

На этом месте диск ещё полон — удалилась только ссылка.

Шаг 2. Удалите папку с данными.

  1. Откройте проводник и перейдите в каталог, который вы записали на этапе подготовки (там лежит 1Cv8.1CD).
  2. Убедитесь, что это именно нужная база, а рядом нет файла блокировки 1Cv8.1CL с активной работой.
  3. Удалите всю папку базы.

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

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

Как удалить клиент-серверную базу (MS SQL / PostgreSQL)

Здесь данных две части: регистрация в кластере 1С и база данных на SQL-сервере. Удалять нужно обе, иначе на SQL-сервере останется «осиротевшая» база, занимающая место.

Вариант через консоль администрирования (графика).

  1. Откройте оснастку Администрирование серверов 1С Предприятия.
  2. Разверните кластер → Информационные базы.
  3. Правый клик по нужной базе → Удалить.
  4. В диалоге выберите, что делать с данными. Доступны варианты: оставить базу данных как есть, очистить её или удалить базу данных целиком. Чтобы освободить место — выбирайте удаление базы данных.
  5. Подтвердите. Если оставили базу данных на сервере — удалите её отдельно в SSMS или pgAdmin.

Вариант через rac (командная строка).

Сначала узнайте идентификаторы кластера и базы:

rac cluster list
rac infobase summary list --cluster=<uuid-кластера>

Затем удалите базу вместе с данными СУБД:

rac infobase drop --cluster=<uuid-кластера> --infobase=<uuid-базы> --drop-database

Флаг --drop-database удаляет и запись в кластере, и саму базу данных на SQL-сервере. Если указать --clear-database, данные очистятся, но пустая база данных на сервере останется. Точный список опций всегда можно посмотреть командой rac help infobase.

Если базу данных оставили на SQL-сервере — удалите её вручную:

  • MS SQL: в Management Studio правый клик по базе → Delete, или DROP DATABASE [ИмяБазы];.
  • PostgreSQL: в pgAdmin удалить базу, или DROP DATABASE "ИмяБазы";.

DROP DATABASE срабатывает только когда к базе нет активных подключений. Сначала убедитесь, что служба сервера 1С базу отпустила (запись из кластера удалена), иначе SQL откажет «база используется».

Чистка кэша и остаточных файлов

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

Что остаётся и где лежит (путь к папке профиля — через Win+R → %APPDATA% и %LOCALAPPDATA%):

Что этоГде лежитМожно ли удалять
Кэш тонкого/толстого клиента%LOCALAPPDATA%\1C\1cv8 (подпапки по идентификатору базы)Да
Пользовательские настройки форм, списков%APPDATA%\1C\1cv8Да, если база удалена
Строка в общем списке базфайл ibases.v8iДа, строку этой базы

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

Про реестр отдельно: в 1С 8.3 список информационных баз хранится в файле ibases.v8i, а не в реестре Windows. Искать и чистить ветки реестра из-за удалённой базы не нужно — это пережиток старых версий и установки самой платформы, а не конкретной базы. Если встретите совет «почистить реестр после удаления базы» — для 8.3 он лишний.

Общий список баз (который виден всем пользователям компьютера или раздаётся через 1CEStart.cfg) правится в файле ibases.v8i: это текстовый файл, где каждая база — отдельная секция [Имя базы]. Удалите секцию нужной базы — и она пропадёт из общего списка.

Автоматизация: удаление нескольких баз скриптом

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

Файловые базы — удаление папок. Простой скрипт PowerShell сносит каталоги по списку:

$bases = @(
  "D:\Bases\test_2024",
  "D:\Bases\arhiv_kopiya"
)
foreach ($b in $bases) {
  if (Test-Path "$b\1Cv8.1CD") {
    Remove-Item -Recurse -Force $b
    Write-Host "Удалено: $b"
  } else {
    Write-Host "Пропущено (не база 1С): $b"
  }
}

Проверка на наличие 1Cv8.1CD страхует от удаления чужой папки — сносится только то, что действительно является базой 1С.

Клиент-серверные базы — через rac. В bat-файле можно последовательно удалить несколько баз, подставляя их идентификаторы:

rac infobase drop --cluster=<uuid> --infobase=<uuid-base1> --drop-database
rac infobase drop --cluster=<uuid> --infobase=<uuid-base2> --drop-database

Идентификаторы баз предварительно собирают командой rac infobase summary list --cluster=<uuid>.

Скрипт удаления полезно держать отдельно от резервного копирования: сначала отрабатывает бэкап-задание, потом — с задержкой в день-два — чистка. Так между копией и удалением есть окно на «передумать».

Что делать, если база не удаляется

Три ситуации встречаются чаще всего.

Диагностика: выберите симптом

Ещё пара моментов, о которых забывают:

  • 🔸 Регламентные задания и расписания. Если база была в списке централизованных бэкапов или в планировщике обслуживания — уберите её и оттуда, иначе задания будут падать с ошибкой «база не найдена».
  • 🔸 Ссылки в интеграциях. Внешние обмены, веб-сервисы, публикации на веб-сервере могут ссылаться на удалённую базу. Публикацию на IIS/Apache снимают отдельно — через Конфигуратор → Администрирование → Публикация на веб-сервере кнопкой Отключить.

Когда базу удалять не стоит

Иногда правильный ответ — не удалять вовсе. Проверьте эти случаи, прежде чем сносить данные.

  • 🔸 База нужна «на всякий случай». Старую базу не обязательно держать в рабочем списке. Выгрузите её в .dt, положите файл в архив и удалите рабочую копию — данные сохранятся, место освободится, а список не захламляется.
  • 🔸 По базе ещё сдают отчётность или идут проверки. Пока не истёк срок хранения учётных данных (а для бухгалтерских документов это годы), базу надёжнее заархивировать, а не уничтожать. Внезапный запрос из налоговой по старому периоду — обычное дело.
  • 🔸 Это одна из нескольких баз в общем кластере. Убедитесь, что удаляете именно ту базу: имена в кластере бывают похожими (buh, buh_test, buh_old). Сверьтесь по дате последнего изменения и размеру, прежде чем выполнять drop.
  • 🔸 База используется в обменах или публикациях. Если на неё завязаны автоматические выгрузки, РИБ или веб-сервисы, удаление оборвёт цепочку. Сначала отключите обмены, потом удаляйте.

Если ни один пункт не подходит и данные точно не нужны — удаляйте смело, предварительно сняв копию.

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

Можно ли восстановить базу после удаления?
Только из резервной копии — выгрузки .dt, копии файла 1Cv8.1CD или SQL-бэкапа. Если копии нет, данные потеряны безвозвратно. Специальных «корзины» или отмены у удаления базы нет.
Чем отличается удаление базы от удаления программы 1С?
Удаление базы убирает конкретные данные (одну информационную базу). Платформа 1С:Предприятие при этом остаётся установленной, и другие базы продолжают работать. Удаление самой платформы делается через Программы и компоненты Windows и баз не трогает.
Удалил базу из списка на своём компьютере — она удалилась у всех?
Нет, если это личный список. Запись пропала только у вас. У коллег база останется в их списках, а данные — на диске или сервере. Общий список правится через файл ibases.v8i или 1CEStart.cfg.
Нужно ли удалять что-то в реестре Windows?
Для базы 8.3 — нет. Список баз хранится в файле ibases.v8i, а не в реестре. Чистить реестр нужно разве что при полном удалении платформы, и то её штатный деинсталлятор делает это сам.
Как удалить только данные, оставив пустую базу?
В клиент-серверной это очистка базы данных (в консоли — вариант «очистить», в rac — --clear-database): структура остаётся, данные стираются. Для файловой проще развернуть в ту же папку пустую конфигурацию из .cf или .dt.