Где на самом деле хранится информационная база 1С и как добраться до её файлов

· 9 мин

Содержание

Быстрее всего найти базу 1С на сервере через строку подключения. Выделите базу в окне запуска 1С:Предприятия: внизу окна будет File="D:\Bases\Buh" (файловая база) или Srvr="srv1c";Ref="buh" (клиент-серверная). В первом случае ищите в этой папке файл 1Cv8.1CD. Во втором базы как файла нет: данные лежат в СУБД, а имя базы в MS SQL или PostgreSQL смотрят в консоли кластера.

Частая ошибка — искать на сервере 1С папку с именем из Ref. Её там нет. Ref — это имя базы в кластере, а таблицы хранятся на сервере СУБД, который может стоять на другой машине. Ниже — все способы вычислить точный путь к файлам и для файлового, и для серверного варианта.

Файловая или клиент-серверная: определяем тип базы

От типа зависит, что вы вообще ищете: папку с файлом или базу в СУБД.

ПризнакФайловая базаКлиент-серверная база
Строка подключенияFile="путь к каталогу"Srvr="сервер";Ref="имя"
Где данныеодин файл 1Cv8.1CDтаблицы в MS SQL, PostgreSQL или другой СУБД
Журнал регистрациипапка 1Cv8Log рядом с 1Cv8.1CDкаталог кластера в srvinfo
Чем администрироватьпроводник, права на папкуконсоль администрирования серверов, rac

Есть и третий вариант — веб-строка ws="http://server/buh". Это база, опубликованная на веб-сервере. Сама база при этом всё равно файловая или серверная, и это видно в файле публикации default.vrd (о нём ниже).

Что показывает строка подключения вашей базы?

Путь к базе в окне запуска и в работающей программе

В окне запуска 1С:Предприятия

  1. Запустите ярлык 1С:Предприятие (это 1cestart.exe).
  2. Выделите нужную базу в списке одним щелчком.
  3. Прочитайте строку внизу окна под списком — это и есть строка подключения.
  4. Чтобы скопировать путь, нажмите Изменить: на первом шаге мастера видно тип подключения, на втором — каталог или пару «кластер серверов + имя базы».

Если в строке стоит буква сетевого диска (Z:\Bases\Buh), на сервере этот путь не существует. Откройте командную строку на рабочем месте и выполните net use — команда покажет, какой сетевой ресурс скрывается за буквой Z:.

Из открытой базы

Если база уже запущена, путь можно узнать, не выходя из неё. В интерфейсе «Такси» откройте главное меню (кнопка с тремя полосками в заголовке окна) и выберите Справка → О программе. В окне есть строка с информационной базой и её строкой подключения.

В Конфигураторе то же окно открывается через Справка → О программе. Программисту хватит одной строки во встроенном языке:

Сообщить(СтрокаСоединенияИнформационнойБазы());

Функция возвращает ту же строку File=... или Srvr=...;Ref=..., что и окно запуска.

Файлы списка баз: ibases.v8i и 1cestart.cfg

Список баз в окне запуска хранится не в реестре Windows, а в обычных текстовых файлах. Это удобно, когда 1С на компьютере не запускается или баз в списке десятки.

📁 Где лежат файлы:

  • %APPDATA%\1C\1CEStart\ibases.v8i — личный список баз пользователя;
  • %APPDATA%\1C\1CEStart\1cestart.cfg — настройки стартера, в том числе ссылки на общие списки баз;
  • %ALLUSERSPROFILE%\1C\1CEStart\1cestart.cfg — настройки для всех пользователей компьютера.

Откройте ibases.v8i блокнотом. Каждая база — отдельный блок:

[Бухгалтерия предприятия]
Connect=Srvr="srv1c";Ref="buh_2024";
ID=6f1c2a8e-...
Folder=/

Строка Connect= и есть ответ на вопрос, где база. Если в 1cestart.cfg есть строка CommonInfoBases=\\fs01\1c\ibases.v8i, список баз раздаётся из общего файла. Откройте его — там те же блоки для всех сотрудников.

Базы, опубликованные на веб-сервере

Для строки ws="http://..." найдите на сервере IIS или Apache каталог публикации. В нём лежит файл default.vrd. Атрибут ib внутри содержит настоящую строку подключения:

<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
       base="/buh"
       ib="Srvr=&quot;srv1c&quot;;Ref=&quot;buh_2024&quot;;">

Кавычки в XML записаны как &quot;, читается это как Srvr="srv1c";Ref="buh_2024";.

Как найти базу 1С на сервере через консоль администрирования

Для клиент-серверной базы главный инструмент — Консоль администрирования серверов 1С:Предприятия. Она показывает, на каком сервере СУБД лежат данные и как называется база в СУБД.

Пошагово

  1. Откройте консоль на сервере 1С или на машине администратора.
  2. Раскройте ветку: Central 1C:Enterprise 8.3 servers → имя сервера → Кластеры → кластер → Информационные базы.
  3. Найдите базу с именем из Ref.
  4. Откройте её свойства. Консоль попросит логин и пароль администратора информационной базы — это пользователь 1С с административными правами, а не администратор Windows.
  5. Посмотрите поля Сервер баз данных, Тип СУБД и База данных.

Поле База данных — это имя базы в MS SQL или PostgreSQL. Оно может не совпадать с Ref: в кластере база называется buh, а в СУБД — buh_prod_2019. Именно его потом ищут на сервере СУБД.

Если консоль не открывается и пишет, что класс не зарегистрирован, зарегистрируйте компонент консоли от имени администратора: regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll". Версия в пути должна совпадать с версией сервера 1С.

Через утилиту rac

На Linux или без графической консоли то же самое делают через сервер администрирования ras и клиент rac. Служба ras должна быть запущена (по умолчанию порт 1545).

rac cluster list
rac infobase summary list --cluster=<uuid кластера>

Первая команда даёт идентификатор кластера, вторая — список баз с их UUID. Подробные свойства базы, включая сервер и имя базы в СУБД, выводит команда rac infobase info с параметрами кластера, базы и учётной записи администратора базы. Точный набор ключей смотрите в rac help infobase.

Где физически лежат файлы базы на сервере СУБД

Зная сервер и имя базы из консоли, можно дойти до файлов на диске. Это нужно, когда кончается место, переносите базу или проверяете бэкапы.

MS SQL Server

Подключитесь к серверу через SQL Server Management Studio и выполните запрос:

SELECT name, physical_name, size * 8 / 1024 AS size_mb
FROM sys.master_files
WHERE database_id = DB_ID('buh_prod_2019');

Запрос покажет два или больше файла: .mdf с данными и .ldf с журналом транзакций, с полными путями и размером в мегабайтах.

PostgreSQL

Здесь у базы нет отдельного файла с её именем. Каталог данных и номер базы узнают так:

SHOW data_directory;
SELECT oid, datname FROM pg_database WHERE datname = 'buh_prod_2019';

Файлы базы лежат в подкаталоге base/<oid> внутри каталога данных. Если oid равен 16384, путь будет вида /var/lib/postgresql/<версия>/main/base/16384.

Не копируйте и не переносите файлы СУБД при работающей службе. Для переноса и резервной копии используйте средства СУБД (backup в MS SQL, pg_dump в PostgreSQL) или выгрузку .dt из Конфигуратора.

Каталог srvinfo и реестр кластера 1CV8Clst.lst

Сервер 1С хранит описание кластера в рабочем каталоге srvinfo. Оттуда можно вытащить список всех баз, даже когда консоль недоступна.

Где искать srvinfo

СистемаКаталог по умолчанию
WindowsC:\Program Files\1cv8\srvinfo
Linux/home/usr1cv8/.1cv8/1C/1cv8

Путь мог быть изменён при установке. Точное значение задаёт ключ -d в командной строке службы агента сервера (ragent.exe). Посмотреть его в PowerShell:

Get-CimInstance Win32_Service |
  Where-Object { $_.PathName -like "*ragent*" } |
  Select-Object Name, PathName

В выводе будет что-то вроде -d "D:\1C\srvinfo" — это и есть рабочий каталог. Там же видны порты: -port 1540 и -regport 1541.

Что внутри

📂 Основное содержимое:

  • reg_1541 — каталог кластера; число в имени совпадает с портом менеджера кластера;
  • reg_1541\1CV8Clst.lst — реестр кластера: список баз, серверов СУБД и имён баз данных;
  • reg_1541\<GUID> — подкаталоги по одному на каждую базу, имя — её уникальный идентификатор.

Файл 1CV8Clst.lst текстовый, но в одну длинную строку со скобками. Откройте его копию в редакторе и найдите имя базы: рядом будут её GUID, сервер СУБД и имя базы данных.

Не правьте 1CV8Clst.lst вручную на работающем сервере. Испорченный реестр приводит к тому, что кластер не стартует и все базы недоступны. Для анализа делайте копию.

Поиск через журнал регистрации и открытые файлы

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

По журналу регистрации

У файловой базы журнал лежит в папке 1Cv8Log рядом с 1Cv8.1CD. У серверной — в srvinfo\reg_1541\<GUID>\1Cv8Log.

Отсюда приём: если известен GUID базы (из 1CV8Clst.lst или rac infobase summary list), откройте подкаталог с этим GUID. По дате изменения файлов журнала видно, живая база или заброшенная. Это помогает, когда в кластере три базы с похожими именами и непонятно, в какой реально работают.

По поиску файла 1Cv8.1CD

Для файловых баз ищите сам файл данных. В PowerShell:

Get-ChildItem -Path D:\ -Filter 1Cv8.1CD -Recurse -ErrorAction SilentlyContinue |
  Select-Object FullName, @{n='SizeMB';e={[math]::Round($_.Length/1MB)}}, LastWriteTime

На Linux: find / -name 1Cv8.1CD 2>/dev/null. Найдутся и рабочие базы, и забытые копии. Свежая дата LastWriteTime подсказывает, какая из них используется.

По открытым файлам и процессам

Если база в общей папке, откройте на сервере fsmgmt.msc → Открытые файлы. Там видно, какой пользователь держит открытым какой 1Cv8.1CD, и полный путь к нему.

Второй способ — Монитор ресурсов (resmon). На вкладке ЦП в поле поиска раздела Связанные дескрипторы введите 1Cv8.1CD. Монитор покажет процесс (1cv8.exe или 1cv8c.exe) и полный путь к открытой базе.

Служебные файлы блокировки рядом с 1Cv8.1CD появляются, пока база открыта. Не удаляйте их, пока в базе работают люди: оборвутся сеансы, а незаписанные данные пропадут. Сначала убедитесь через «Открытые файлы», что базу никто не держит.

Почему базу не находят: частые ошибки

  • 🔍 Ищут папку с именем из Ref на сервере 1С. Данные серверной базы — в СУБД, путь к ним даёт только консоль кластера или реестр 1CV8Clst.lst.
  • 🗂 Путают имя базы в кластере и в СУБД. Бэкап делают с buh, а рабочая база в SQL называется иначе. В итоге копируется пустая или тестовая база.
  • 💾 Берут путь с сетевым диском. Z:\ существует только у пользователя; на сервере нужен локальный путь общей папки (видно в fsmgmt.msc → Общие ресурсы).
  • 🔐 Не хватает прав. В свойства базы в консоли не пускает без пароля администратора информационной базы. В каталог srvinfo без прав локального администратора тоже не попасть.
  • 🧭 Смотрят не тот кластер. Если на сервере работают две версии платформы или несколько кластеров на разных портах, у каждого свой каталог reg_<порт>.
  • 📋 Открывают общий список баз и правят его. Изменение в общем ibases.v8i по CommonInfoBases сразу видят все пользователи — меняйте его осознанно.

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

Можно ли узнать путь к базе без прав администратора?
Да. Строка подключения видна в окне запуска и в окне «О программе» у любого пользователя. Права администратора нужны только для свойств базы в консоли кластера и для каталога srvinfo.
Сколько места занимает файловая база и где это смотреть?
Размер базы — это размер файла 1Cv8.1CD плюс папки журнала 1Cv8Log. Посмотрите их свойства в проводнике или выведите размер командой PowerShell из раздела про поиск файла.
Почему в консоли нет моей базы, хотя в 1С она открывается?
Скорее всего, вы подключились к другому серверу или кластеру. Сверьте имя сервера и порт из строки Srvr с тем, что зарегистрировано в консоли, и добавьте нужный центральный сервер.
Как найти базу, если 1С на компьютере вообще не запускается?
Откройте блокнотом файл %APPDATA%\1C\1CEStart\ibases.v8i: в строках Connect= указаны все пути и серверы из списка баз этого пользователя.
Где хранятся базы, если используется 1С:Фреш или облако?
У облачных сервисов доступа к файлам базы нет. Для переноса к себе делают выгрузку данных средствами сервиса и загружают её в локальную базу.