Администрирование · 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Выгрузите базу в .dt и проверьте загрузку копии
- 2Завершите все сеансы пользователей с базой
- 3Удалите запись из списка баз в окне запуска
- 4Удалите каталог базы с файлом 1Cv8.1CD
- 5Проверьте, что каталог удалён и место на диске освободилось
Удалите клиент-серверную базу
В клиент-серверном режиме удобнее всего удалять базу через консоль кластера серверов 1С. Откройте консоль администрирования, найдите базу в ветке «Информационные базы», вызовите контекстное меню и выберите «Удалить». Появится диалог с выбором режима: удалить базу данных в СУБД вместе с записью или оставить базу данных нетронутой.
Если выбрать удаление вместе с базой данных, сервер 1С выполнит DROP DATABASE в СУБД — данные будут стёрты физически. Если оставить базу данных, запись в кластере исчезнет, но данные останутся в СУБД и их можно подключить позже. Второй вариант подходит как промежуточный шаг, когда полное удаление планируется позже.
Альтернатива — удалить базу напрямую средствами СУБД, например командой DROP DATABASE в SQL Server. Но тогда запись в кластере 1С останется «битой» и будет выдавать ошибку при попытке подключения, поэтому запись из консоли кластера всё равно придётся удалить вручную.
-- Предварительно сделайте бэкап! Перевод в 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 на диске
Записи об ИБ нет
Запись есть, подключение выдаёт ошибку
Типичные ошибки и как их избежать
Самая частая ошибка — удаление базы без проверенной копии, когда выгрузка .dt формально создана, но никто не проверял, загружается ли она. Вторая по распространённости — путаница между удалением из списка и физическим удалением данных, из-за чего «удалённые» базы годами лежат на дисках или, наоборот, стираются без архива.
Отдельная группа ошибок связана с параллельной работой: удаление каталога при открытых сеансах приводит к повреждению файла базы, если удаление не завершилось, а пользователи продолжали работать. Всегда завершайте сеансы до начала операции, а в клиент-серверном режиме блокируйте соединения через консоль кластера.
Частые вопросы
Можно ли восстановить базу после удаления каталога?
Только из резервной копии — файла .dt, копии каталога или бэкапа СУБД. Средствами самой платформы восстановить удалённую базу нельзя; программы восстановления удалённых файлов для 1Cv8.1CD дают ненадёжный результат из-за размера и структуры файла.
Чем отличается выгрузка .dt от копирования каталога базы?
Выгрузка .dt — логическая копия, переносимая между платформами и СУБД, но требующая монопольного доступа. Копирование каталога — физическая копия, быстрая, но корректная только при закрытых сеансах и привязанная к файловому режиму. Для архива надёжнее .dt.
Нужно ли удалять базу из списка у всех пользователей?
Да, если база была общей: список баз хранится индивидуально для каждого пользователя. Иначе пользователи будут видеть нерабочий ярлык и получать ошибку подключения. На терминальном сервере удобно вести общий файл списка баз.
Что делать с базой, которая нужна «на всякий случай»?
Не удаляйте, а архивируйте: сделайте выгрузку .dt, проверьте её загрузку, положите файл в архивное хранилище с понятным именем и датой, а рабочую базу удалите. Так данные сохранятся, но не будут занимать ресурсы рабочего сервера.
Как удалить базу, если нет доступа в Конфигуратор?
Для файловой базы достаточно скопировать каталог целиком как архив и затем удалить его — выгрузка .dt не обязательна, если есть физическая копия. Для клиент-серверной базы бэкап и удаление может выполнить администратор СУБД без доступа к Конфигуратору.
Что важно запомнить
Сначала — проверенная резервная копия, затем — удаление записи из списка и кластера, и только потом — физическое удаление каталога или базы в СУБД. Удаление из списка баз не стирает данные, а удаление данных без копии необратимо.