Куда 1С сохраняет информационные базы и как найти их на диске и на сервере
Содержание
Новую файловую базу
1С 8.3 программа по умолчанию предлагает создать в папке документов пользователя: C:\Users\<имя>\Documents\InfoBase, следующую — в InfoBase1, InfoBase2 и так далее. Сами данные лежат в одном файле 1Cv8.1CD внутри этой папки. Если базу создавали из шаблона или её подключал кто-то другой, путь может быть любым, и быстрее всего его покажет окно запуска 1С: выделите базу в списке, и строка подключения появится внизу окна.
С клиент-серверной базой иначе. Файла 1Cv8.1CD у неё нет: данные хранятся в СУБД (MS SQL Server, PostgreSQL), а на компьютере пользователя записаны только имя сервера и имя базы в кластере. Ниже — где искать в каждом варианте, какие служебные файлы хранят список баз и как не перепутать базу с кэшем.
Стандартные пути файловой базы 1С 8.3
Файловая база — это каталог. Главный файл в нём один, остальное служебное и при необходимости пересоздаётся.
| Что лежит в каталоге базы | Назначение |
|---|---|
1Cv8.1CD | Вся база: конфигурация и данные. Именно его копируют для резервной копии |
1Cv8Log\ | Журнал регистрации (файлы .lgf, .lgp или .lgd в новом формате) |
1Cv8FTxt\ | Индекс полнотекстового поиска |
| прочие временные файлы | Появляются при работе и пропадают после закрытия сеансов |
Типичные места, где обнаруживаются файловые базы:
- 📁
C:\Users\<имя>\Documents\InfoBase*— путь, который 1С подставляет при создании новой базы; - 📁
C:\Users\<имя>\Documents\1C\...— сюда часто попадают базы, созданные из шаблонов конфигураций, в том числе демонстрационные; - 📁
D:\1C\Bases\...,C:\Base1C\...— каталоги, которые заводят вручную администраторы и внедренцы; - 🌐 сетевая папка вида
\\server\1C\Buh— когда файловой базой пользуются несколько человек в офисе.
Сами шаблоны конфигураций (файлы для создания новых баз) хранятся отдельно — в %APPDATA%\1C\1cv8\tmplts. Базы там нет, только дистрибутивы конфигураций и обновлений. Путь можно поменять в настройках окна запуска.
Если у пользователя включена синхронизация папки «Документы» с облаком (OneDrive и подобные), база по умолчанию окажется в синхронизируемой папке. Облачный клиент может блокировать 1Cv8.1CD во время работы и создавать конфликтные копии. Такую базу лучше перенести в обычный локальный каталог.
Как узнать путь к базе через окно запуска и саму программу
Самый надёжный способ — спросить у самой 1С, куда она подключается. Есть три варианта.
В окне запуска
- Запустите 1С, откроется список информационных баз.
- Выделите нужную базу одним щелчком, не открывая её.
- Посмотрите на нижнюю часть окна. Там выводится строка подключения:
File="D:\1C\Buh"для файловой базы илиSrvr="srv1c";Ref="buh"для серверной. - Чтобы скопировать путь, нажмите Изменить: в мастере будет поле с каталогом базы или полями сервера и имени базы.
Из открытой базы
В интерфейсе «Такси» откройте главное меню (кнопка с тремя полосками в заголовке окна) → Справка → О программе. В окне будет строка подключения к информационной базе с тем же File= или Srvr=/Ref=.
Кодом из конфигуратора или внешней обработки
Функция СтрокаСоединенияИнформационнойБазы() возвращает ту же строку. Удобно, если нужно вывести путь в отчёт или журнал:
Сообщить(СтрокаСоединенияИнформационнойБазы());
// Файловая база: File="D:\1C\Buh";
// Серверная база: Srvr="srv1c";Ref="buh";
Список баз в ibases.v8i и 1cestart.cfg: где 1С хранит пути
Окно запуска само ничего не «знает». Оно читает текстовые файлы в профиле пользователя Windows.
| Файл | Где лежит | Что хранит |
|---|---|---|
ibases.v8i | %APPDATA%\1C\1CEStart\ | Личный список баз пользователя со строками подключения |
1cestart.cfg | %APPDATA%\1C\1CEStart\ | Настройки запуска пользователя, в том числе ссылки на общие списки баз |
1cestart.cfg | C:\ProgramData\1C\1CEStart\ | Те же настройки для всех пользователей компьютера |
%APPDATA% раскрывается в C:\Users\<имя>\AppData\Roaming. Папка AppData скрыта, поэтому проще вставить %APPDATA%\1C\1CEStart в адресную строку Проводника.
Как читать ibases.v8i
Это обычный текстовый файл, его можно открыть Блокнотом. Каждая база — отдельная секция:
[Бухгалтерия ООО Ромашка]
Connect=File="D:\1C\Buh";
ID=3f2b6c1e-0000-0000-0000-000000000000
Folder=/
Version=8.3
[Зарплата (сервер)]
Connect=Srvr="srv1c";Ref="zup";
ID=...
Folder=/Кадры
Название в квадратных скобках — только подпись в списке. Путь к данным — в строке Connect. Если пользователь пишет «у меня пропала база», почти всегда пропала строка из этого файла, а каталог с 1Cv8.1CD цел.
Перенос списка баз на новый компьютер
Переезжаете на новый ноутбук или в новый профиль Windows — скопируйте ibases.v8i из старого профиля в %APPDATA%\1C\1CEStart\ нового, предварительно закрыв 1С. Список появится целиком, с папками и названиями. Сработает это только для серверных баз и баз в сетевых папках: строки File= с локальным путём будут указывать на диск старого компьютера, и сами каталоги с 1Cv8.1CD придётся перенести отдельно.
Обратная ситуация тоже частая: база лежит на месте, а 1С показывает пустой список после смены пользователя Windows. Значит, вы вошли под другим профилем, и у него свой ibases.v8i.
Общие списки через 1cestart.cfg
В организациях список баз часто раздают централизованно. Тогда в 1cestart.cfg есть строки вида:
CommonInfoBases=\\server\1C\lists\office.v8i
Базы из такого файла появляются в окне запуска у всех, у кого прописана ссылка. Ищете, откуда взялась база, которой нет в личном ibases.v8i, — откройте файл по пути из CommonInfoBases.
А что с реестром Windows
В 8.3 список информационных баз в реестре не хранится: только в перечисленных файлах. Если в инструкции советуют искать пути в реестре, она, скорее всего, относится к 1С 7.7, где список баз действительно лежал в ветке реестра пользователя. Файла с названием connections.cfg в стандартной поставке 8.3 тоже нет — не тратьте время на его поиск.
Прежде чем править ibases.v8i вручную, закройте все окна 1С и сохраните копию файла. Окно запуска перезаписывает его при выходе, и правка может потеряться.
Если папка неизвестна: ищем файл 1Cv8.1CD на диске
Бывает, что список баз пуст, а база точно была. Тогда ищем сам файл данных по имени.
Через Проводник. Откройте диск, в строке поиска введите 1Cv8.1CD и дождитесь окончания. На больших дисках это медленно.
Через командную строку — быстрее и покажет полный путь:
dir C:\1Cv8.1CD /s /b
dir D:\1Cv8.1CD /s /b
Через PowerShell — сразу с размером и датой изменения, что помогает выбрать актуальную копию:
Get-ChildItem -Path C:\, D:\ -Filter *.1CD -Recurse -ErrorAction SilentlyContinue |
Select-Object FullName, @{n='МБ';e={[math]::Round($_.Length/1MB)}}, LastWriteTime |
Sort-Object LastWriteTime -Descending
Маска *.1CD найдёт и переименованные копии. Самая свежая по LastWriteTime обычно и есть рабочая база. Нашли — добавьте её в окно запуска кнопкой Добавить → «Добавление в список существующей информационной базы» и укажите каталог, где лежит файл.
Клиент-серверная база: где на самом деле лежат данные
В серверном варианте участвуют три уровня, и «база» на каждом свой объект:
- Компьютер пользователя. Хранит только строку
Srvr="srv1c";Ref="buh"вibases.v8i. Данных нет. - Сервер 1С:Предприятия (кластер). Хранит регистрацию базы: её имя в кластере, параметры подключения к СУБД. Клиент сначала обращается к агенту сервера (порт 1540 по умолчанию), затем к менеджеру кластера (1541) и рабочим процессам.
- Сервер СУБД. Здесь физически лежат таблицы с конфигурацией и данными — в файлах MS SQL Server или в каталоге данных PostgreSQL.
Отсюда главное правило: имя базы в кластере (Ref) и имя базы данных в СУБД могут не совпадать. В кластере база может называться buh, а в SQL — buh_2019_new. Смотреть надо в свойства регистрации.
Каталог srvinfo — не база
На сервере 1С есть каталог кластера srvinfo. При установке сервера как службы Windows по умолчанию это C:\Program Files\1cv8\srvinfo, на Linux — в домашнем каталоге пользователя usr1cv8, обычно /home/usr1cv8/.1cv8/1C/1cv8/.
Внутри — папка reg_1541 с файлом реестра кластера 1CV8Clst.lst и подкаталогами баз с именами вида snccntx<GUID>. В них сеансовые данные и служебные кэши. Данных информационной базы в srvinfo нет, и копирование этого каталога не заменяет резервную копию базы
.
Как найти базу на сервере 1С через консоль и rac
Через консоль администрирования серверов
- Откройте консоль администрирования серверов 1С:Предприятия и подключитесь к центральному серверу.
- Разверните Кластеры → нужный кластер → Информационные базы.
- Откройте свойства базы. В окне видны тип СУБД, сервер баз данных и имя базы данных в СУБД.
Для просмотра свойств понадобится логин и пароль администратора информационной базы, если он задан.
Через утилиту rac
Если консоли нет, то же самое можно получить из командной строки через сервер администрирования ras:
rac cluster list
rac infobase summary list --cluster=<uuid кластера>
rac infobase info --cluster=<uuid кластера> --infobase=<uuid базы> --infobase-user=<логин> --infobase-pwd=<пароль>
Первая команда даёт идентификатор кластера, вторая — список баз с их UUID, третья — подробности, включая сервер и имя базы в СУБД. Остальные параметры смотрите в rac help.
Физические файлы в СУБД
Зная имя базы данных, найдите её файлы средствами самой СУБД.
MS SQL Server:
SELECT name, physical_name, size * 8 / 1024 AS size_mb
FROM sys.master_files
WHERE database_id = DB_ID('buh_2019_new');
Обычно это файлы .mdf (данные) и .ldf (журнал транзакций) в каталоге DATA экземпляра SQL Server.
PostgreSQL:
SHOW data_directory;
SELECT oid, datname FROM pg_database WHERE datname = 'buh_2019_new';
Файлы базы лежат в подкаталоге base/<oid> каталога данных. Копировать или переносить их «руками» при работающем сервере нельзя: для резервной копии используйте средства СУБД или выгрузку .dt из конфигуратора.
Базы, опубликованные на веб-сервере
Если пользователи заходят в 1С через браузер или тонкий клиент по адресу http://..., путь к базе прописан в файле default.vrd каталога публикации на веб-сервере (IIS или Apache). Атрибут ib содержит ту же строку: File="..." или Srvr="...";Ref="...".
Частые ошибки при поиске пути к базе
Перенос или переименование каталога файловой базы делайте, когда в ней никто не работает. Открытые сеансы оборвутся с ошибкой, а несохранённые документы будут потеряны. После переноса поправьте путь в списке баз у каждого пользователя или в общем .v8i.