Лишняя копия информационной базы: что удалить и что оставить

· 10 мин

Содержание

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

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

Три способа убрать копию базы и чем они отличаются

Слово «убрать» в 1С значит разное. Перед тем как что-то нажимать, определите, какой результат вам нужен.

Что делаетеЧто исчезаетЧто остаётсяМожно вернуть
Удаление из списка запускаСтрока в окне запускаВсе данные базыДа, через Добавить → существующая база
Удаление файлов с дискаКаталог базы целикомНичего, кроме бэкаповТолько из резервной копии
Удаление из кластераРегистрация базы на сервере 1СБаза данных на SQL, если её не удалили отдельноДа, если база данных на SQL цела
Снятие признака копииПредупреждение и блокировкаСама база, данные, списокНе требуется

Самая частая ошибка — удалить строку из списка и считать, что копия стерта. Файл 1Cv8.1CD продолжает занимать место: у базы Бухгалтерии за пару лет это легко 5–15 ГБ.

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

Как понять, где лежит копия

  1. Откройте окно запуска 1С и выделите базу.
  2. Внизу окна отобразится строка подключения: File="D:\1C\Buh_copy" для файловой базы или Srvr="server1c";Ref="buh_test" для серверной.
  3. Нажмите Изменить — в мастере видны путь к каталогу или имя сервера и базы.

💡 Если у двух строк в списке одинаковые пути, это не копия, а два ярлыка на одну базу. Удаляйте только строку, файлы не трогайте.

Как убрать базу из списка в окне запуска 1С

Это безопасная операция: данные не затрагиваются, меняется только список.

  1. Запустите 1С:Предприятие обычным ярлыком.
  2. В списке информационных баз выделите копию.
  3. Нажмите кнопку Удалить справа.
  4. Подтвердите вопрос «Удалить информационную базу из списка?».

Строка исчезнет у текущего пользователя Windows. Другие пользователи этого же компьютера свою строку увидят, пока не удалят её сами.

Где хранится список баз

Список запуска — обычный текстовый файл:

%APPDATA%\1C\1CEStart\ibases.v8i

Каждая база в нём — отдельный блок, который начинается с имени в квадратных скобках:

[Бухгалтерия (копия от 12.09)]
Connect=File="D:\1C\Buh_copy";
ID=...

Если окно запуска не открывается или в списке десятки устаревших копий, закройте 1С, откройте ibases.v8i в Блокноте и удалите лишние блоки целиком — от строки в квадратных скобках до следующей такой строки. Перед правкой сохраните копию файла рядом.

Почему удалённая база снова появляется

Если копия возвращается после перезапуска, она приходит не из личного списка, а из общего. Администратор мог подключить общий список через файл 1CEStart.cfg параметром CommonInfoBases= — это путь к .v8i в сетевой папке.

  • 📁 Общий список правит тот, кто им управляет, обычно системный администратор.
  • 🔁 Удаление строки на рабочем месте не помогает: при старте список снова подтянется.
  • 🧩 В этом случае попросите убрать копию из общего файла .v8i на сервере.

Файл 1CEStart.cfg лежит в %APPDATA%\1C\1CEStart\ (настройки пользователя) и в %ALLUSERSPROFILE%\1C\1CEStart\ (для всех пользователей компьютера).

Полное удаление копии с диска

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

Файловая копия

  1. Убедитесь, что копию никто не открыл. Если файл занят, Windows не даст удалить 1Cv8.1CD.
  2. Удалите базу из списка запуска, как описано выше.
  3. Откройте каталог из строки подключения, например D:\1C\Buh_copy.
  4. Проверьте содержимое: там должны быть 1Cv8.1CD, папка 1Cv8Log и, возможно, 1Cv8FTxt (полнотекстовый поиск).
  5. Удалите каталог целиком.

Перед удалением сверьте путь ещё раз. Каталоги рабочей базы и копии часто называются почти одинаково: Buh и Buh1, Buh_2024 и Buh_new. Если сомневаетесь, сначала переименуйте каталог и поработайте день — если ничего не сломалось, удаляйте.

Кеш копии на компьютере пользователя

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

%APPDATA%\1C\1cv8\
%LOCALAPPDATA%\1C\1cv8\

Они не мешают работе, но со временем набирают сотни мегабайт. Определить, какая папка к какой базе относится, по имени нельзя — идентификатор указан в ibases.v8i в строке ID=. Когда копия уже удалена из списка, её папку можно найти по этому ID в сохранённой копии ibases.v8i или просто очистить кеш у всех баз при закрытой 1С: программа восстановит его при следующем запуске, первый вход будет медленнее.

Клиент-серверная копия

Здесь база существует в двух местах: в кластере серверов 1С и на SQL-сервере. Удаляется в консоли администрирования серверов 1С:

  1. Откройте консоль, разверните Кластеры → <кластер> → Информационные базы.
  2. Найдите копию и проверьте её сеансы в ветке Сеансы: если там есть работающие пользователи, удаление оборвёт их работу.
  3. Вызовите команду Удалить в контекстном меню базы.
  4. Выберите, что делать с базой данных на SQL-сервере.
Вариант при удаленииЧто происходит
Не изменять базу данныхУдаляется только регистрация в кластере, таблицы на SQL остаются
Очистить базу данныхТаблицы 1С удаляются, сама пустая база на SQL остаётся
Удалить базу данныхУдаляется и регистрация, и база данных на SQL-сервере

Для удаления базы данных с SQL у пользователя, под которым кластер подключается к СУБД, должны быть соответствующие права. Если их нет, выберите «Не изменять базу данных» и попросите администратора СУБД удалить её вручную. В MS SQL это делается через Management Studio или запросом:

-- Проверьте имя базы! Команда необратима
DROP DATABASE [buh_test];

Если в базе остались подключения, SQL Server откажется её удалять. Не завершайте чужие сеансы без предупреждения: сначала убедитесь, что в консоли кластера у копии нет активных сеансов.

Признак «это копия»: как отключить блокировку внешних ресурсов

В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11 и другие) есть защита от двойной работы. Если программа видит, что база открыта по другому пути или на другом компьютере, чем раньше, она блокирует работу с внешними ресурсами и спрашивает администратора, что произошло.

В окне два варианта:

  • ✅ Информационная база перемещена — база та же, просто переехала на новый сервер или в другой каталог. Блокировка снимается, всё работает как раньше.
  • 🧪 Это копия информационной базы — блокировка остаётся. Обмены, загрузка курсов, обращения к ЭДО, отправка почты и регламентные задания с внешними сервисами в копии не запускаются.

Это сделано правильно: тестовая копия не должна отправлять отчётность, подтягивать документы ЭДО и выгружать данные в обмены за рабочую базу.

Когда признак копии нужно снять

  • 🚚 Вы перенесли рабочую базу на новый сервер, а при первом входе по ошибке выбрали «Это копия».
  • 🔁 Копия становится основной базой: рабочую вы выводите из эксплуатации.
  • 🖥️ Администратор восстановил базу из бэкапа после сбоя, и это по-прежнему рабочая база.

Как разблокировать

  1. Войдите в базу пользователем с полными правами.
  2. Откройте Администрирование → Обслуживание и перейдите к регламентным и фоновым заданиям. Пока блокировка действует, над списком заданий видно сообщение о том, что работа с внешними ресурсами заблокирована, со ссылкой на снятие блокировки.
  3. Перейдите по ссылке и подтвердите, что база перемещена, а не скопирована.

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

Как отключить копию, не удаляя её

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

Файловая база

Самый простой способ — убрать её из списков у пользователей и переместить каталог туда, куда у них нет доступа. Права на папку настраивает администратор Windows.

Изнутри программы можно установить блокировку сеансов: Администрирование → Обслуживание → Блокировка работы пользователей. Там задаётся время начала и окончания, сообщение для пользователей и код разрешения, по которому администратор сможет войти.

Серверная база

В консоли кластера откройте свойства базы:

  • 🔒 Блокировка начала сеансов включена — новые пользователи не смогут подключиться, можно указать сообщение и период.
  • ⏸️ Блокировка регламентных заданий включена — фоновые задания в копии перестанут выполняться.

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

Тонкий клиент и веб-клиент: очистка списка баз

Тонкий клиент

Тонкий клиент пользуется тем же окном запуска и тем же файлом ibases.v8i, что и толстый. Копия удаляется так же: выделить строку и нажать Удалить.

Если тонкий клиент подключается к базе через веб-сервер, строка подключения выглядит как ws="https://server/buh_copy". Удаление строки убирает её из списка, но публикация на веб-сервере продолжает работать — по ссылке в базу по-прежнему можно войти.

Веб-клиент

У веб-клиента нет собственного списка баз: пользователь открывает адрес публикации в браузере. Чтобы копия стала недоступна, нужно снять её публикацию:

  1. Откройте копию в Конфигураторе от имени администратора Windows.
  2. Выберите Администрирование → Публикация на веб-сервере.
  3. Нажмите Отключить.

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

Автоматическое удаление старых копий скриптом

Копии чаще всего копятся не в списке, а в папке резервного копирования: ежедневные выгрузки .dt и архивы каталогов файловых баз. За полгода это десятки гигабайт.

Скрипт PowerShell

Удаляет выгрузки старше 30 дней:

$path = "D:\Backup1C"
$days = 30
Get-ChildItem -Path $path -Include *.dt, *.zip -Recurse |
    Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-$days) } |
    Remove-Item -Force

Перед первым запуском замените Remove-Item -Force на Remove-Item -WhatIf — PowerShell покажет, какие файлы удалил бы, но ничего не тронет.

Командный файл bat

Тот же результат без PowerShell, через стандартную утилиту forfiles:

@echo off
forfiles /p "D:\Backup1C" /s /m *.dt /d -30 /c "cmd /c del /q @path"

Параметр /d -30 отбирает файлы, изменённые 30 и более дней назад. Для архивов повторите строку с /m *.zip.

Как запускать по расписанию

  1. Сохраните скрипт, например, как D:\Scripts\clean_1c_backups.ps1.
  2. Откройте Планировщик заданий Windows и создайте задачу.
  3. Действие — запуск программы powershell.exe с аргументами -ExecutionPolicy Bypass -File "D:\Scripts\clean_1c_backups.ps1".
  4. Расписание — раз в неделю, после основного резервного копирования.

💡 Не удаляйте всё подряд по возрасту. Практичная схема: последние 7–14 ежедневных копий плюс одна копия на конец каждого месяца, которая лежит в отдельной папке и в скрипт не попадает. Месячные копии выручают, когда ошибку в учёте нашли через квартал.

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

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

Если удалить базу из списка, данные пропадут?
Нет. Удаляется только строка в окне запуска. Базу можно вернуть кнопкой Добавить с выбором существующей информационной базы и указанием её каталога.
Можно ли удалить копию, если в ней кто-то работает?
Файловую — нет: Windows не даст удалить занятый файл 1Cv8.1CD. Серверную формально можно, но пользователи потеряют несохранённые данные. Сначала завершите их работу по договорённости.
Влияет ли удаление копии на лицензии?
Лицензии привязаны к компьютеру или серверу, а не к базе. Удаление копии ничего не освобождает и не отнимает. Освобождается только лицензия сеанса, который был открыт в копии.
Нужно ли удалять копию из сервиса 1С:Отчётность или ЭДО?
Если в копии выбран признак «Это копия», она к этим сервисам не обращается, и регистрировать ничего не надо. Если блокировку в копии снимали, проверьте, что в ней не остались включёнными обмены и отправка документов.
Как переименовать копию, чтобы не путать с рабочей базой?
В окне запуска выделите её, нажмите Изменить и задайте понятное имя, например «Бухгалтерия — ТЕСТ, не работать». Имя меняется только в списке, путь к базе остаётся прежним.