Где на диске лежит информационная база 1С и как узнать её расположение
Содержание
Путь к базе 1С быстрее всего виден в окне запуска: выделите базу в списке, и внизу окна появится строка вида File="D:\Bases\Buh"; или Srvr="srv1c";Ref="buh";. Первая означает файловую базу
, и данные хранятся в файле 1Cv8.1CD в этой папке. Вторая означает клиент-серверную базу
, и тогда файлов информационной базы «на диске у 1С» нет вовсе: данные лежат в СУБД.
Частое заблуждение — искать базу в каталоге установки платформы C:\Program Files\1cv8. Там только программа. Файловые базы по умолчанию создаются в профиле пользователя, а серверные живут внутри MS SQL Server или PostgreSQL.
Файловая база: где хранится файл 1Cv8.1CD
Файловая информационная база — это одна папка. Главный файл в ней один, остальное служебное.
| Что в папке | Назначение | Можно удалять? |
|---|---|---|
1Cv8.1CD | Сами данные и конфигурация | Нет, это и есть база |
1Cv8.1CL | Файл блокировки, пока база открыта | Только когда никто не работает |
1Cv8Log\ | Журнал регистрации | Нежелательно: потеряете историю |
1Cv8FTxt\ | Индекс полнотекстового поиска | Да, он перестроится |
1Cv8tmp.1CD | Временный файл при тестировании и сжатии | Да, после завершения операции |
Если при создании базы не меняли путь, платформа предложит папку Documents\InfoBase в профиле пользователя, а для следующих баз — InfoBase1, InfoBase2 и так далее. Полный путь выглядит так: C:\Users\<имя пользователя>\Documents\InfoBase.
Как узнать путь у открытой базы
📌 Три способа, которые работают в любой конфигурации:
- Окно запуска. Выделите базу — строка подключения видна под списком. Кнопка «Изменить» откроет мастер, где путь можно скопировать.
- Справка о программе. В открытой базе: главное меню (кнопка с тремя полосками или значок в заголовке) →
Справка → О программе. В поле информационной базы указана та же строка подключения. - Встроенный язык. Функция
СтрокаСоединенияИнформационнойБазы()возвращает строку подключения. Её удобно вывести в обработке или в окне вычисления выражения в отладчике.
Локальный диск или сетевая папка
Файловую базу можно положить на сетевой ресурс и открыть с нескольких компьютеров. Тогда в строке подключения указывайте UNC-путь, а не букву подключённого диска:
File="\\fileserver\1C\Buh";
Буква Z: у каждого сотрудника может быть своей или вовсе не подключиться после перезагрузки. UNC-путь одинаков для всех.
Файловая база на сетевой папке хорошо работает при 3–5 пользователях. Дальше растут блокировки, а обрыв сети во время записи может повредить 1Cv8.1CD. При росте числа пользователей переходят на клиент-серверный вариант.
Клиент-серверный вариант: что хранит сервер 1С и что хранит СУБД
В клиент-серверном варианте данные разделены на две части, и это главное, что нужно понять при поиске.
- 🗄 СУБД (MS SQL Server, PostgreSQL) хранит таблицы базы: документы, справочники, регистры, конфигурацию.
- ⚙️ Сервер 1С хранит реестр кластера, журналы регистрации и сеансовые данные. Всё это лежит в каталоге
srvinfo.
Каталог srvinfo в Windows
При стандартной установке сервера как службы каталог находится по пути C:\Program Files\1cv8\srvinfo. Внутри:
| Путь | Что там |
|---|---|
srvinfo\reg_1541\ | Данные кластера с портом менеджера 1541 |
srvinfo\reg_1541\1CV8Clst.lst | Реестр кластера: список баз, рабочих серверов, администраторов |
srvinfo\reg_1541\<GUID базы>\1Cv8Log\ | Журнал регистрации конкретной базы |
srvinfo\reg_1541\snccntx* | Кэш сеансовых данных, служебное |
Папки баз названы идентификаторами (GUID), а не именами. Соответствие GUID и имени базы видно в консоли кластера: откройте свойства базы, идентификатор показан в карточке. Также его выводит rac (об этом ниже).
Если srvinfo лежит не там
Администраторы часто выносят srvinfo на отдельный диск. Реальный путь задаёт параметр -d в командной строке службы агента. Посмотреть его можно в оснастке «Службы»: свойства службы агента сервера 1С → поле «Исполняемый файл». Строка выглядит примерно так:
"C:\Program Files\1cv8\8.3.25.1374\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "E:\srvinfo" -debug
Из той же строки видны порты: 1540 у агента, 1541 у менеджера кластера, диапазон рабочих процессов. Если службу найти не получается, выполните в командной строке:
sc query state= all | findstr /i "1C"
sc qc "<имя службы из первой команды>"
Вторая команда покажет поле BINARY_PATH_NAME с параметром -d. Та же строка хранится в реестре Windows, в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<имя службы>, параметр ImagePath.
Номер версии в пути (8.3.25.1374 в примере) у вас будет свой. Каталог srvinfo от версии не зависит, поэтому после обновления платформы базы не теряются.
Как найти базу через консоль кластера и rac
Строка Srvr="srv1c";Ref="buh"; говорит только, что база называется buh в кластере на сервере srv1c. Имя в кластере и имя базы в СУБД могут не совпадать. Настоящее место данных ищут в два шага.
Шаг 1. Свойства базы в кластере
- Откройте «Администрирование серверов 1С Предприятия».
- Раскройте
Central 1C:Enterprise 8.3 servers → <сервер> → Кластеры → <кластер> → Информационные базы. - Откройте свойства нужной базы. Если кластер или база защищены, консоль спросит логин и пароль администратора.
- Посмотрите три поля: сервер баз данных, тип СУБД и имя базы данных.
Последнее поле и есть имя базы в СУБД. Например, база buh в кластере может храниться в MS SQL как buh_2019_main.
Тот же список из командной строки
Утилита rac работает через сервер администрирования ras, который должен быть запущен. Базовые команды:
rac cluster list
rac infobase summary list --cluster=<UUID кластера>
Первая выводит кластеры и их идентификаторы. Вторая — список баз кластера с их GUID и именами. Подробные свойства базы и нужные для них ключи авторизации смотрите в справке rac help infobase.
Шаг 2. Файлы базы в СУБД
Зная имя базы в СУБД, найти её файлы можно запросом.
MS SQL Server:
SELECT name, physical_name, type_desc
FROM sys.master_files
WHERE database_id = DB_ID('buh_2019_main');
Запрос вернёт пути к файлу данных .mdf и журналу транзакций .ldf.
PostgreSQL:
SHOW data_directory;
SELECT oid, datname FROM pg_database WHERE datname = 'buh_2019_main';
Данные базы лежат в подкаталоге base/<oid> внутри каталога данных. Файлы там названы числами, и копировать их вручную для резервной копии нельзя: для этого есть pg_dump или выгрузка .dt из Конфигуратора.
Файлы .mdf, .ldf и каталог base не переносят на работающей СУБД. Перенос базы между серверами делают средствами СУБД (резервная копия и восстановление) или выгрузкой и загрузкой .dt.
Список баз: файл ibases.v8i и где он лежит
Окно запуска само ничего не «знает» о базах. Оно читает список из текстового файла ibases.v8i в профиле пользователя:
%APPDATA%\1C\1CEStart\ibases.v8i
Обычно это C:\Users\<имя>\AppData\Roaming\1C\1CEStart\ibases.v8i. Каждая база — это блок вида:
[Бухгалтерия основная]
Connect=File="D:\Bases\Buh";
ID=3f2a9c1e-5b7d-4e0a-9c11-2d4e6f8a0b12
OrderInList=16384
Folder=/
External=0
ClientConnectionSpeed=Normal
App=Auto
WA=1
Version=8.3
Для серверной базы строка подключения другая:
Connect=Srvr="srv1c";Ref="buh";
А для базы, опубликованной на веб-сервере:
Connect=ws="http://srv-web/buh";
Правка файла вручную
Изменить путь можно прямо в ibases.v8i. Порядок:
- Закройте все окна 1С на этом компьютере.
- Сделайте копию файла
ibases.v8iрядом. - Откройте его в «Блокноте» и поправьте строку
Connect=. - Сохраните файл в той же кодировке и запустите 1С.
Так удобно массово менять путь после переезда базы на другой диск: открыть файл, заменить D:\Bases на E:\Bases во всех строках.
Общий список баз для всего офиса
Чтобы не настраивать каждый компьютер, администратор кладёт общий .v8i на сетевую папку и прописывает его в файле 1CEStart.cfg:
CommonInfoBases=\\fileserver\1C\office.v8i
1CEStart.cfg бывает в двух местах: в профиле пользователя (%APPDATA%\1C\1CEStart\) и общий для всех пользователей компьютера (%ALLUSERSPROFILE%\1C\1CEStart\, обычно C:\ProgramData\1C\1CEStart\). Базы из общего списка появятся в окне запуска у всех, кто читает этот файл.
Рядом с папкой 1CEStart лежит каталог 1cv8 с подпапками по GUID баз. Это пользовательские настройки и кэш, а не данные. Очистка кэша не трогает базу, но нужна закрытая 1С у этого пользователя.
Пути в Linux и при публикации на веб-сервере
Linux
На Linux логика та же, меняются только каталоги.
| Что | Путь по умолчанию |
|---|---|
| Платформа | /opt/1cv8/x86_64/<версия>/ |
| Каталог кластера (аналог srvinfo) | /home/usr1cv8/.1cv8/1C/1cv8/ |
| Реестр кластера | /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/1CV8Clst.lst |
| Список баз пользователя | ~/.1C/1cestart/ibases.v8i |
Сервер работает от пользователя usr1cv8, поэтому его каталог лежит в домашней папке этого пользователя. Если путь переопределён, ищите параметр -d в unit-файле службы. Посмотреть его можно командой systemctl cat с именем службы сервера 1С (имя видно в systemctl list-units | grep 1c).
Для файловой базы на Linux путь пишется в том же формате, со слешами системы:
File="/srv/1c/bases/buh";
У пользователя, от которого работает клиент или веб-сервер, должны быть права на чтение и запись в каталог базы. Иначе база не откроется, даже если путь верный.
Веб-клиент и публикация
У веб-клиента нет своего пути к данным. Пользователь открывает адрес вида http://srv-web/buh, а веб-сервер по файлу default.vrd понимает, какую базу открыть. Файл лежит в каталоге публикации:
- 🪟 IIS: обычно
C:\inetpub\wwwroot\<имя публикации>\default.vrd; - 🐧 Apache: каталог, указанный при публикации, например
/var/www/buh/default.vrd.
Внутри есть атрибут ib со строкой подключения. Кавычки в XML экранированы, поэтому строка выглядит так:
ib="File="D:\Bases\Buh";"
или для серверной базы:
ib="Srvr="srv1c";Ref="buh";"
Если база переехала, а веб-клиент открывает старую, причина обычно здесь: публикацию не обновили. Перепубликуйте базу из Конфигуратора (Администрирование → Публикация на веб-сервере) или поправьте default.vrd и перезапустите веб-сервер. Перезапуск оборвёт сеансы веб-клиентов, поэтому делайте его вне рабочего времени.
Когда путь указан неверно: ошибки и как их распознать
Чего не делать при поиске и переносе
- ❌ Копировать
1Cv8.1CDиз открытой базы. Копия может оказаться несогласованной. Сначала попросите всех выйти и убедитесь, что файл1Cv8.1CLисчез. - ❌ Считать папку из реестра кластера местом данных. Каталог базы в
srvinfoхранит журнал регистрации и кэш, а не документы. - ❌ Удалять «лишние» базы из
ibases.v8iв надежде освободить место. Удаляется только строка в списке, файлы на диске остаются. - ❌ Переносить
srvinfoпри запущенной службе. Сначала остановите службу агента. Это оборвёт сеансы всех пользователей всех баз кластера, поэтому планируйте перенос на нерабочее время.