Где на диске лежит информационная база 1С и как узнать её расположение

· 9 мин

Содержание

Путь к базе 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.

Как узнать путь у открытой базы

📌 Три способа, которые работают в любой конфигурации:

  1. Окно запуска. Выделите базу — строка подключения видна под списком. Кнопка «Изменить» откроет мастер, где путь можно скопировать.
  2. Справка о программе. В открытой базе: главное меню (кнопка с тремя полосками или значок в заголовке) → Справка → О программе. В поле информационной базы указана та же строка подключения.
  3. Встроенный язык. Функция СтрокаСоединенияИнформационнойБазы() возвращает строку подключения. Её удобно вывести в обработке или в окне вычисления выражения в отладчике.

Локальный диск или сетевая папка

Файловую базу можно положить на сетевой ресурс и открыть с нескольких компьютеров. Тогда в строке подключения указывайте 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. Откройте «Администрирование серверов 1С Предприятия».
  2. Раскройте Central 1C:Enterprise 8.3 servers → <сервер> → Кластеры → <кластер> → Информационные базы.
  3. Откройте свойства нужной базы. Если кластер или база защищены, консоль спросит логин и пароль администратора.
  4. Посмотрите три поля: сервер баз данных, тип СУБД и имя базы данных.

Последнее поле и есть имя базы в СУБД. Например, база 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. Закройте все окна 1С на этом компьютере.
  2. Сделайте копию файла ibases.v8i рядом.
  3. Откройте его в «Блокноте» и поправьте строку Connect=.
  4. Сохраните файл в той же кодировке и запустите 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=&quot;D:\Bases\Buh&quot;;"

или для серверной базы:

ib="Srvr=&quot;srv1c&quot;;Ref=&quot;buh&quot;;"

Если база переехала, а веб-клиент открывает старую, причина обычно здесь: публикацию не обновили. Перепубликуйте базу из Конфигуратора (Администрирование → Публикация на веб-сервере) или поправьте default.vrd и перезапустите веб-сервер. Перезапуск оборвёт сеансы веб-клиентов, поэтому делайте его вне рабочего времени.

Когда путь указан неверно: ошибки и как их распознать

Диагностика: выберите симптом

Чего не делать при поиске и переносе

  • ❌ Копировать 1Cv8.1CD из открытой базы. Копия может оказаться несогласованной. Сначала попросите всех выйти и убедитесь, что файл 1Cv8.1CL исчез.
  • ❌ Считать папку из реестра кластера местом данных. Каталог базы в srvinfo хранит журнал регистрации и кэш, а не документы.
  • ❌ Удалять «лишние» базы из ibases.v8i в надежде освободить место. Удаляется только строка в списке, файлы на диске остаются.
  • ❌ Переносить srvinfo при запущенной службе. Сначала остановите службу агента. Это оборвёт сеансы всех пользователей всех баз кластера, поэтому планируйте перенос на нерабочее время.

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

Можно ли по имени базы в окне запуска понять, где она лежит?
Нет. Имя в списке — просто подпись, её можно поменять как угодно. Смотрите строку подключения под списком или параметр Connect= в ibases.v8i.
Где хранится журнал регистрации базы?
У файловой базы — в подпапке 1Cv8Log рядом с 1Cv8.1CD. У серверной — в каталоге srvinfo\reg_1541<GUID базы>\1Cv8Log на сервере 1С.
Почему файл 1Cv8.1CD такой большой, хотя данных мало?
Файл не уменьшается сам после удаления данных. Освободить место помогает тестирование и исправление базы со сжатием таблиц или выгрузка и загрузка .dt. Перед этим сделайте резервную копию.
Как перенести файловую базу на другой диск?
Дождитесь выхода всех пользователей, скопируйте папку базы целиком в новое место, затем поменяйте путь в окне запуска. Старую папку удаляйте, только когда убедились, что база открывается из новой.
Где хранится конфигурация в клиент-серверном варианте?
В той же базе данных СУБД, что и данные, в служебных таблицах. Отдельного файла конфигурации на сервере 1С нет.