Как найти физическое расположение информационной базы 1С на диске и в СУБД

· 9 мин

Содержание

Где хранится база данных 1С, зависит от варианта работы. В файловом варианте вся база — это один файл 1Cv8.1CD в обычной папке на диске или сетевом ресурсе. В клиент-серверном варианте данные лежат внутри СУБД (MS SQL Server или PostgreSQL) в её собственных файлах данных, а сервер 1С на своём диске хранит только служебные каталоги: реестр кластера, журнал регистрации, кэши.

Быстрее всего узнать, где именно ваша база: выделите её в окне запуска 1С и посмотрите строку внизу списка. Там будет либо File="D:\Bases\Buh", либо Srvr="srv1c";Ref="buh". Первое — путь к папке с файлом базы на сервере или компьютере. Второе — имя сервера 1С и имя базы в кластере.

Файловая база: какие файлы лежат в каталоге

Файловая информационная база — это каталог. Название папки может быть любым, а внутри всегда одни и те же объекты.

Файл или папкаЧто этоМожно ли трогать
1Cv8.1CDСама база: конфигурация, данные, пользователиКопировать только при закрытой базе
1Cv8LogЖурнал регистрацииМожно архивировать, база без него откроется
Временные файлы и файлы блокировокПоявляются, пока с базой работаютНе удалять при работающих пользователях

📁 Если базу создавали через окно запуска с параметрами по умолчанию, она лежит в профиле пользователя: C:\Users\<имя>\Documents\InfoBase. Следующие базы получают имена InfoBase1, InfoBase2 и так далее. Многие об этом забывают и потом ищут базу по всему диску.

Как найти файл 1Cv8.1CD, если путь неизвестен

  1. Откройте окно запуска 1С и выделите базу в списке.
  2. Прочитайте путь в нижней части окна, после File=.
  3. Если строки не видно — нажмите Изменить и пройдите до шага с выбором каталога: там путь указан полностью.
  4. Если база в списке не значится, найдите файл поиском Windows по имени 1Cv8.1CD. Размер файла подскажет, какая из найденных баз рабочая.

💡 Изнутри работающей программы путь тоже виден. Откройте меню справки (значок со знаком вопроса) → О программе. В строке информационной базы указана строка соединения — та же, что в окне запуска.

Где лежит список баз

Сам перечень баз в окне запуска — не база, а текстовый файл ibases.v8i. Он хранится в профиле каждого пользователя:

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

Удаление строки из этого файла или кнопка Удалить в окне запуска убирают базу только из списка. Сами данные на диске остаются на месте.

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

Ещё два каталога в профиле пользователя часто путают с базой:

  • 🗂 %APPDATA%\1C\1cv8 — пользовательские настройки и часть кэша по каждой базе;
  • 🗂 %LOCALAPPDATA%\1C\1cv8 — кэш конфигурации, который платформа скачивает с сервера или из файловой базы.

Внутри лежат папки с длинными именами-идентификаторами, по одной на базу. Данных учёта там нет. Очистка этих папок или запуск с параметром /ClearCache лечит странное поведение формы после обновления, но не затрагивает документы. Делайте это при закрытой 1С у этого пользователя.

Клиент-серверная база: данные внутри СУБД

В клиент-серверном варианте файла 1Cv8.1CD нет вообще. Сервер 1С получает данные от СУБД, и физически они лежат там, куда их положила СУБД. Сервер 1С и сервер СУБД могут быть разными машинами.

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

Microsoft SQL Server

У каждой базы два файла:

  • 📄 <имя_базы>.mdf — файл данных;
  • 📄 <имя_базы>_log.ldf — журнал транзакций.

Каталог по умолчанию для экземпляра без имени выглядит так: C:\Program Files\Microsoft SQL Server\MSSQL<NN>.MSSQLSERVER\MSSQL\DATA, где NN — номер версии SQL Server. Администраторы часто переносят файлы на отдельный диск, поэтому точный путь лучше спросить у самого SQL Server:

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

Вместо buh подставьте имя базы данных из свойств информационной базы. Запрос выполняется в SQL Server Management Studio.

PostgreSQL

PostgreSQL не создаёт для базы файл с понятным именем. Все базы кластера PostgreSQL лежат в одном каталоге данных, внутри подпапки base, а каждая база — в папке с числовым идентификатором (OID).

Узнать каталог и номер своей базы можно двумя запросами в psql:

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

Итоговый путь — <data_directory>/base/<oid>. Расположение каталога данных зависит от сборки и ОС: у сборок для 1С на Linux он обычно в /var/lib/..., на Windows — в папке установки PostgreSQL. Поэтому опирайтесь на вывод SHOW data_directory, а не на догадки.

Файлы внутри каталога данных PostgreSQL и файлы .mdf/.ldf нельзя копировать «на ходу» как обычные документы. Такая копия почти наверняка окажется неработоспособной. Резервные копии делают средствами СУБД (pg_dump, BACKUP DATABASE) или выгрузкой в .dt.

Служебный каталог сервера 1С: srvinfo

Даже когда данные в СУБД, сервер 1С хранит на своём диске много важного. Всё это лежит в каталоге, который называют srvinfo.

Путь по умолчанию:

  • 🪟 Windows: C:\Program Files\1cv8\srvinfo;
  • 🐧 Linux: /home/usr1cv8/.1cv8/1C/1cv8.

Точный путь задаёт параметр -d в командной строке службы агента сервера. Проверить его на Windows просто: services.msc → служба агента сервера 1С:Предприятия → Свойства → поле «Исполняемый файл». Там будет строка вида:

"C:\Program Files\1cv8\8.3.24.1586\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug

На Linux ту же строку покажет команда ps aux | grep ragent: ищите в выводе параметр -d.

Что внутри srvinfo

ОбъектНазначение
1CV8WSrv.lstСписок центральных серверов и администраторы агента
reg_1541Каталог кластера; число — порт менеджера кластера
reg_1541\1CV8Clst.lstРеестр кластера: базы, рабочие серверы, настройки
reg_1541\<GUID>Папка конкретной базы, внутри — журнал регистрации 1Cv8Log
reg_1541\snccntx...Служебные данные сеансов и кэш

Чтобы понять, какая папка <GUID> относится к вашей базе, откройте 1CV8Clst.lst в текстовом редакторе только на чтение и найдите имя базы. Рядом с ним стоит её идентификатор.

Не редактируйте 1CV8Clst.lst вручную и не удаляйте папки из reg_1541 при работающей службе. Повреждённый реестр кластера — частая причина, почему сервер «теряет» все базы. Перед любой правкой остановите службу агента (все пользователи будут отключены, поэтому делайте это вне рабочего времени) и сохраните копию всего каталога srvinfo.

💡 Журнал регистрации серверной базы растёт быстро и может занять десятки гигабайт. Если на системном диске мало места, srvinfo переносят на другой диск: останавливают службу, копируют каталог целиком и меняют путь в параметре -d.

Как посмотреть путь через консоль администрирования серверов

Консоль кластера не показывает путь к файлам на диске, но даёт ключ к нему: на каком сервере СУБД и под каким именем лежит база.

  1. Запустите Администрирование серверов 1С Предприятия.
  2. Раскройте Центральные серверы 1С:Предприятия → ваш сервер → Кластеры → кластер → Информационные базы.
  3. Щёлкните правой кнопкой по базе → Свойства. Консоль спросит логин и пароль администратора информационной базы.
  4. Запишите три поля: Сервер баз данных, Тип СУБД, База данных.

С этими данными идите в СУБД и выполняйте запрос из раздела выше. Для MS SQL — sys.master_files, для PostgreSQL — SHOW data_directory и pg_database.

Если консоль не запускается после обновления платформы, зарегистрируйте компонент заново. От имени администратора выполните:

"C:\Program Files\1cv8\8.3.24.1586\bin\RegMSC.cmd"

Номер версии в пути замените на свой. Скрипт регистрирует radmin.dll нужной версии.

То же самое из командной строки

На Linux и на серверах без графики используют утилиту rac. Ей нужна запущенная служба ras.

rac cluster list
rac infobase summary list --cluster=<id_кластера>
rac infobase info --cluster=<id_кластера> --infobase=<id_базы> --infobase-user=Админ --infobase-pwd=пароль

Последняя команда показывает поля dbms, db-server и db-name. Полный список параметров смотрите в справке rac help infobase.

Терминальный сервер, облако и аренда 1С

Терминальный сервер и RemoteApp

При работе через удалённый рабочий стол база не лежит на вашем компьютере. Она находится на терминальном сервере или на файловом ресурсе, к которому он подключён. Путь в окне запуска показывает именно его: D:\Bases\... на сервере или сетевой адрес \\fileserver\1C\Buh.

Список баз у каждого пользователя свой: файл ibases.v8i хранится в его профиле на терминальном сервере. Чтобы всем выдать одинаковый набор, администраторы используют общий файл списка баз — его подключают в настройках окна запуска.

Облачная 1С и хостинг

В сервисах вроде 1С:Фреш и у хостинг-провайдеров база хранится на серверах провайдера, обычно в клиент-серверном режиме. Доступа к файлам у клиента нет. Получить свою базу можно только как копию:

  • 💾 выгрузка .dt из Конфигуратора: Администрирование → Выгрузить информационную базу (если провайдер даёт доступ к Конфигуратору);
  • 💾 резервная копия или выгрузка из личного кабинета сервиса — там, где провайдер это предусмотрел.

Файл .dt загружают в новую пустую базу через Администрирование → Загрузить информационную базу в Конфигураторе. Загрузка требует монопольного доступа и полностью заменяет содержимое базы-приёмника.

Права на каталоги и ошибки доступа

Файловая база в сетевой папке

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

  1. Разрешения общего ресурса (вкладка «Доступ»).
  2. Разрешения NTFS (вкладка «Безопасность») — «Изменение» для группы пользователей 1С.

Без прав на запись 1С выдаёт сообщения вида Ошибка при выполнении файловой операции или отказывает в открытии базы. Похожая картина бывает, когда антивирус блокирует 1Cv8.1CD или папку синхронизирует облачный клиент вроде OneDrive.

Сервер 1С и СУБД

ЧтоПод кем работаетКакие права нужны
Служба агента сервера 1СПользователь USR1CV8 (создаётся при установке)Полный доступ к каталогу srvinfo
Подключение к MS SQLЛогин из свойств базы (часто sa или отдельный)Владелец базы данных
Подключение к PostgreSQLПользователь из свойств базы (обычно postgres)Права на создание и изменение базы

Если службу перевели под другую учётную запись, а права на srvinfo не выдали, агент не запустится или не увидит кластер. Ошибки СУБД приходят в 1С с текстом самой СУБД: Login failed for user у MS SQL, password authentication failed for user у PostgreSQL. В обоих случаях проверьте логин и пароль в свойствах информационной базы в консоли кластера.

Какая строка у вашей базы в окне запуска?

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

Можно ли переложить файловую базу в другую папку?
Да. Закройте базу у всех пользователей, перенесите папку целиком, затем в окне запуска нажмите Изменить и укажите новый каталог. Данные внутри не меняются.
Почему файл 1Cv8.1CD такой большой, хотя документов немного?
Файл не уменьшается сам после удаления данных. Сжать его помогает тестирование и исправление информационной базы с режимом сжатия таблиц или выгрузка в .dt и загрузка обратно.
Как узнать, файловая база или серверная, если окна запуска нет?
Откройте О программе в меню справки. Строка соединения начинается с File= у файловой базы и с Srvr= у серверной.
Хранится ли на сервере 1С копия данных клиент-серверной базы?
Нет. На сервере 1С лежат журнал регистрации, кэши и реестр кластера. Сами документы и справочники есть только в СУБД.
Где хранится база при подключении через веб-клиент?
Веб-сервер только публикует базу. Путь или параметры сервера указаны в файле default.vrd в каталоге публикации, а сама база — там, куда указывает эта строка.