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

В этой статье мы разберём все актуальные способы удаления баз — от простого файлового варианта до клиент-серверных конфигураций с MS SQL и PostgreSQL, а также рассмотрим типичные ошибки, которые допускают пользователи. Вы узнаете, как проверить, не используется ли база в данный момент, как правильно сделать резервную копию перед удалением, и что делать, если после удаления возникли проблемы с запуском других баз. Материал будет полезен как начинающим администраторам, так и опытным специалистам, которые хотят систематизировать свои знания.

1. Подготовка к удалению: резервное копирование и проверка зависимостей

Прежде чем приступать к удалению, необходимо убедиться, что база не используется другими пользователями или фоновыми задачами. Например, если в данный момент выполняется регламентное задание (например, обмен данными с 1С:ЗУП или выгрузка в Росалкогольрегулирование), удаление может привести к повреждению транзакций и несоответствию данных в связанных системах. Также важно проверить, не является ли удаляемая база основной для каких-либо интеграций (например, с сайтом на Bitrix или Shop-Script).

Обязательный шаг — создание резервной копии. Даже если вы уверены, что база больше не нужна, её копия может потребоваться для отчётности, аудита или восстановления исторических данных. Для файлового варианта достаточно скопировать папку с базой (обычно это C:\Users\Public\Documents\1C\Бухгалтерия или аналогичный путь). Для клиент-серверного варианта потребуется бэкап через SQL Server Management Studio или pgAdmin:

  • 📁 Файловый вариант: скопируйте папку с расширением .1CD в безопасное место (например, на внешний диск или в облако).
  • 🗄️ SQL-вариант: выполните полный бэкап базы через BACKUP DATABASE [ИмяБазы] TO DISK = 'путь\к\файлу.bak'.
  • 🔄 PostgreSQL: используйте команду pg_dump -U пользователь -d имя_базы -f резервная_копия.sql.
  • 📋 Документация: сохраните скриншоты или экспорт настроек обмена данными (если база участвовала в интеграциях).
⚠️ Внимание: Если база используется в распределённой информационной системе (РИБ), её удаление без предварительного исключения из узла может привести к невозможности синхронизации оставшихся баз. Проверьте настройки РИБ в Администрирование → Распределённые информационные базы.
📊 Какой тип базы 1С вы чаще всего администрируете?
Файловый
Клиент-серверный на MS SQL
Клиент-серверный на PostgreSQL
Облачный (1С:Фреш)
Не работаю с 1С

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

Файловый вариант хранения — самый простой для удаления, но и здесь есть нюансы. База в файловом режиме состоит из:

  • 📂 Папки с расширением .1CD (основные данные).
  • 📄 Файла 1Cv8.1CD (если используется формат 8.3.10+).
  • 📌 Файла блокировок 1Cv8.lck (если база открыта).

Чтобы удалить такую базу:

  1. Закройте все сеансы 1С:Предприятие, включая фоновые (проверьте в Диспетчере задач процессы 1cv8.exe, ragent.exe, rmngr.exe).
  2. Удалите папку с базой (например, C:\Users\Public\Documents\1C\Торговля).
  3. Удалите запись о базе из списка в Запуск 1С:Предприятия (через кнопку Удалить в окне выбора баз).

Если при удалении появляется ошибка "Файл используется другим процессом", используйте утилиту Process Explorer от Microsoft или команду в CMD:

handle.exe "путь\к\файлу.1CD"

Это покажет, какой процесс блокирует файл. Чаще всего виноват ragent.exe — его нужно завершить принудительно.

Закрыты все сеансы 1С|Сделан бэкап папки .1CD|Проверено отсутствие блокировок (1Cv8.lck)|Удалена запись из списка баз в запуске 1С-->

3. Удаление клиент-серверной базы на MS SQL

Для баз, работающих на Microsoft SQL Server, процесс сложнее. Здесь удаление происходит в два этапа: сначала из , затем из SQL. Если пропустить второй этап, в SQL Server останутся "мусорные" данные, которые могут занимать место и замедлять работу сервера.

Шаг 1. Удаление из списка 1С:

  1. Откройте Запуск 1С:Предприятия.
  2. Выделите нужную базу и нажмите Удалить.
  3. Подтвердите удаление (это удалит только ссылку, но не саму базу на сервере).

Шаг 2. Удаление из SQL Server:

  1. Подключитесь к серверу через SQL Server Management Studio.
  2. Найдите базу в списке Databases.
  3. Правой кнопкой → Delete.
  4. В окне подтверждения выберите Close existing connections (это разорвёт все активные подключения).

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

SELECT name, is_published, is_subscribed FROM sys.databases WHERE name = 'ИмяВашейБазы';
⚠️ Внимание: Если на сервере включён Always On Availability Groups, удаление базы из основной реплики автоматически удалит её и из вторичных. Убедитесь, что это не нарушит работу кластера.
Действие Последствия при пропуске
Удаление из списка 1С База останется в SQL Server, но не будет видна пользователям
Удаление из SQL Server Файлы базы останутся на диске, занимая место
Удаление файлов .mdf/.ldf При повторном создании базы с тем же именем могут возникнуть конфликты
Проверка зависимостей (репликация, jobs) Сбои в работе связанных систем

4. Удаление базы на PostgreSQL

Для на PostgreSQL процесс похож, но есть специфика, связанная с пользователями и ролями. Здесь нельзя просто удалить базу — нужно сначала отключить все подключения и убедиться, что нет активных транзакций.

Инструкция:

  1. Подключитесь к серверу через pgAdmin или psql.
  2. Проверьте активные подключения:
    SELECT * FROM pg_stat_activity WHERE datname = 'имя_базы';
  3. Принудительно завершите сеансы (если есть):
    SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'имя_базы';
  4. Удалите базу:
    DROP DATABASE "имя_базы";

Особенность PostgreSQL — после удаления базы её файлы не удаляются автоматически с диска. Они остаются в каталоге данных (PGDATA) и могут занимать место. Чтобы очистить их, используйте команду:

pg_dropcluster --stop 14 main

(где 14 — версия PostgreSQL, main — имя кластера).

💡

Если после удаления базы на PostgreSQL вы планируете создать новую с тем же именем, сначала выполните VACUUM FULL; — это поможет избежать конфликтов с старыми транзакциями.

5. Удаление базы из 1С:Фреш (облачный сервис)

В 1С:Фреш удаление базы имеет свои ограничения. Здесь нельзя просто нажать "Удалить" — система предлагает два варианта:

  • 🗑️ Архивирование: база перемещается в архив и не занимает место в активных инстанциях, но остаётся доступной для восстановления.
  • 💥 Полное удаление: база удаляется безвозвратно через 30 дней после архивирования.

Чтобы удалить базу:

  1. Перейдите в Личный кабинет 1С:Фреш → Мои базы.
  2. Выберите базу и нажмите Архивировать.
  3. Через 30 дней база будет автоматически удалена (или вы можете удалить её раньше вручную в разделе Архив).
⚠️ Внимание: В 1С:Фреш невозможно восстановить базу после полного удаления. Если база связана с 1С:ЭДО или 1С:Отчётность, её архивирование приостановит обмен документами.
Что будет, если прервать архивирование базы в 1С

Фреш?:

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

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

Даже опытные администраторы иногда сталкиваются с проблемами при удалении баз . Рассмотрим самые распространённые ошибки и способы их исправления:

  • 🚫 "Не удалось удалить базу: доступ запрещён":

    Причина: недостаточно прав на папку или файлы базы. Решение: запустите и Проводник от имени администратора или измените права на папку через Свойства → Безопасность.

  • 🔄 "База используется другим пользователем":

    Причина: фоновые процессы или SQL. Решение: проверьте процессы через Task Manager или sp_who2 в SQL Server.

  • 🗃️ "После удаления база снова появляется в списке":

    Причина: не удалён файл 1Cv8.lst в папке %APPDATA%\1C\1cv8. Решение: удалите этот файл вручную.

  • 💾 "Не хватает места на диске после удаления":

    Причина: файлы .mdf/.ldf не были удалены физически. Решение: очистите папку SQL Server\MSSQL\Data.

Если после удаления базы перестала запускаться с ошибкой "Не найден файл базы данных", проверьте:

  1. Целостность файла 1Cv8.lst (возможно, он повреждён).
  2. Наличие прав на папку %APPDATA%\1C.
  3. Корректность путей в реестре Windows (ветка HKEY_CURRENT_USER\Software\1C\1Cv8\8.x\Config).
💡

Всегда проверяйте журнал событий Windows (eventvwr.msc) после удаления базы — там могут быть записи о сбоях в работе SQL Server или 1С:Предприятие, которые помогут диагностировать проблему.

7. Восстановление после ошибочного удаления

Если база была удалена по ошибке, шансы на восстановление зависят от типа хранения:

  • 📁 Файловый вариант:

    Восстановите папку .1CD из резервной копии. Если бэкапа нет, попробуйте программы для восстановления файлов (R-Studio, Recuva). Учтите, что чем больше времени прошло, тем ниже шансы — активно использует кэш и может перезаписать удалённые данные.

  • 🗄️ SQL-вариант:

    Восстановите бэкап через RESTORE DATABASE. Если бэкапа нет, проверьте, не включено ли на сервере полное восстановление (FULL recovery model) — в этом случае можно попробовать восстановить данные из журналов транзакций.

  • ☁️ 1С:Фреш:

    В течение 30 дней после архивирования базу можно восстановить из архива. После полного удаления восстановление невозможно — обращайтесь в поддержку с просьбой проверить возможность восстановления из их внутренних бэкапов (услуга платная).

Если база была часть распределённой системы, её восстановление потребует дополнительных действий:

  1. Восстановите базу из бэкапа.
  2. Войдите в неё в монопольном режиме (1Cv8.exe /F"путь\к\базе" /Nимя_пользователя /Pпароль /Monopolistic).
  3. Перейдите в Администрирование → Распределённые информационные базы и настройте синхронизацию заново.

8. Автоматизация удаления: скрипты и утилиты

Если вам регулярно приходится удалять базы (например, тестовые или временные), можно автоматизировать процесс с помощью скриптов. Ниже приведены примеры для разных сценариев:

Для файлового варианта (PowerShell):


$basePath = "C:\Users\Public\Documents\1C\TestBase"

if (Test-Path $basePath) {

Remove-Item $basePath -Recurse -Force

Write-Host "База удалена"

} else {

Write-Host "База не найдена"

}

Для SQL-варианта (T-SQL):


USE master;

GO

ALTER DATABASE [TestBase] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

GO

DROP DATABASE [TestBase];

GO

Для PostgreSQL (Bash):


#!/bin/bash

sudo -u postgres psql -c "DROP DATABASE \"TestBase\";"

sudo -u postgres pg_dropcluster --stop 14 main

Для массового удаления баз (например, очистки тестового сервера) можно использовать утилиту 1C:Предприятие в режиме CONFIG:

1Cv8.exe CONFIG /DisconnectIB "ИмяБазы" /Out "лог.txt"
⚠️ Внимание: Автоматические скрипты удаления могут быть опасны, если не предусмотреть проверку на активные подключения. Всегда добавляйте в скрипт условие, которое прерывает выполнение, если база используется:
IF EXISTS (SELECT * FROM sys.dm_exec_sessions WHERE database_id = DB_ID('TestBase'))

BEGIN

RAISERROR('База используется!', 16, 1)

RETURN

END

💡

Для регулярной очистки тестовых баз настройте задачу в Планировщике заданий Windows (taskschd.msc), которая будет запускать скрипт удаления по расписанию (например, раз в неделю).

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

Можно ли удалить базу 1С прямо из конфигуратора?

Нет, в Конфигураторе нет функции удаления базы. Вы можете только удалить объекты внутри базы (справочники, документы), но не саму базу. Для полного удаления используйте Запуск 1С:Предприятия (для файлового варианта) или SQL Server Management Studio/pgAdmin (для клиент-серверного).

Что делать, если после удаления базы в списке 1С осталась "битая" ссылка?

Это происходит, если некорректно удалён файл 1Cv8.lst. Чтобы исправить:

  1. Закройте все сеансы .
  2. Удалите файл %APPDATA%\1C\1cv8\1Cv8.lst.
  3. Запустите 1С:Предприятие заново — список баз обновится.
Как удалить базу 1С, если она повреждена и не открывается?

Если база повреждена, но её нужно удалить:

  • Для файлового варианта: просто удалите папку с расширением .1CD и запись из 1Cv8.lst.
  • Для SQL-варианта: подключитесь к серверу и удалите базу через DROP DATABASE с флагом WITH ROLLBACK IMMEDIATE.

Если база используется в репликации, сначала исключите её из группы доступности.

Можно ли восстановить базу после команды DROP DATABASE в SQL?

Если у вас есть бэкап — да, через RESTORE DATABASE. Если бэкапа нет:

  • Проверьте, не включено ли на сервере полное восстановление (FULL recovery model) — в этом случае можно попробовать восстановить данные из журналов транзакций с помощью инструментов вроде ApexSQL Recover.
  • Если сервер не перезагружался, попробуйте утилиты для восстановления удалённых файлов (SQL Server Undelete).

Шансы невысоки, поэтому всегда делайте бэкапы перед удалением.

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

Сначала необходимо:

  1. Остановить все задачи обмена в Администрирование → Обмен данными.
  2. Удалить настройки обмена в связанных системах (например, в 1С:УТ или 1С:Бухгалтерии).
  3. Убедиться, что в очереди обмена нет необработанных сообщений.
  4. Только после этого удалять базу.

Если не выполнить эти шаги, в связанных системах могут остаться "висячие" ссылки на удалённую базу, что приведёт к ошибкам при следующем обмене.