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

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

Как правильно удалять базы 1С

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

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

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

Определите режим работы базы перед удалением

1С поддерживает два режима хранения данных, и процедура удаления для них различается. В файловом режиме вся база — это файл 1Cv8.1CD в каталоге на диске или сетевом ресурсе. В клиент-серверном режиме данные лежат в СУБД (MS SQL Server, PostgreSQL, Oracle), а платформа обращается к ним через сервер 1С:Предприятия.

Чтобы понять режим, откройте окно запуска 1С, выделите базу и посмотрите строку подключения в нижней части окна. Если там указан путь вида D:\Bases\Trade — база файловая. Если указаны кластер серверов и имя базы, например srv1c;TradeDB — база клиент-серверная. Эту же информацию можно увидеть в свойствах базы через кнопку «Изменить».

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

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

Для клиент-серверных баз допустим и часто предпочтителен бэкап средствами СУБД — он быстрее и надёжнее для больших объёмов. В MS SQL Server это стандартная операция Backup через Management Studio или скрипт T-SQL. Храните бэкап на отдельном носителе или в другом каталоге, а не рядом с удаляемой базой.

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

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

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

Этот шаг безопасен и обратим: базу можно добавить обратно через «Добавить», указав тот же каталог или параметры сервера. Именно поэтому удаление из списка нельзя считать удалением базы — данные продолжают занимать место и доступны любому, кто добавит подключение заново.

Удалите данные файловой базы

После того как копия сделана и проверена, а запись удалена из списка, закройте все сеансы 1С, которые могли использовать базу. Затем удалите каталог базы целиком через проводник или командную строку. Внутри каталога находятся файл 1Cv8.1CD, журналы регистрации и служебные подкаталоги.

Если каталог не удаляется с ошибкой «файл занят», значит файл базы открыт каким-то процессом: запущенным сеансом 1С, фоновым заданием или антивирусной проверкой. Найдите и завершите процесс через диспетчер задач, после чего повторите удаление.

Удаление файловой базы
  1. 1
    Выгрузите базу в .dt и проверьте загрузку копии
  2. 2
    Завершите все сеансы пользователей с базой
  3. 3
    Удалите запись из списка баз в окне запуска
  4. 4
    Удалите каталог базы с файлом 1Cv8.1CD
  5. 5
    Проверьте, что каталог удалён и место на диске освободилось

Удалите клиент-серверную базу

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

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

Альтернатива — удалить базу напрямую средствами СУБД, например командой DROP DATABASE в SQL Server. Но тогда запись в кластере 1С останется «битой» и будет выдавать ошибку при попытке подключения, поэтому запись из консоли кластера всё равно придётся удалить вручную.

sql
-- Предварительно сделайте бэкап! Перевод в single_user и удаление:
ALTER DATABASE [TradeDB] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE [TradeDB];

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

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

В клиент-серверном варианте проверьте, что в СУБД не остались файлы данных и журнала транзакций (mdf и ldf) в каталоге данных сервера — иногда они сохраняются после некорректного удаления и занимают значительное место.

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

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

Каталог базы на диске
Норма

Каталог отсутствует, место освободилось

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

Каталог на месте, файл 1Cv8.1CD доступен

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

Базы нет в списке (SELECT name FROM sys.databases)

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

База присутствует, файлы mdf/ldf на диске

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

Записи об ИБ нет

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

Запись есть, подключение выдаёт ошибку

Типичные ошибки и как их избежать

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

Отдельная группа ошибок связана с параллельной работой: удаление каталога при открытых сеансах приводит к повреждению файла базы, если удаление не завершилось, а пользователи продолжали работать. Всегда завершайте сеансы до начала операции, а в клиент-серверном режиме блокируйте соединения через консоль кластера.

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

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

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

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

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

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

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

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

Что делать с базой, которая нужна «на всякий случай»?

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

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

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

Итог

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

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