Файл 1Cv8.1CD или таблицы СУБД: куда 1С кладёт данные на сервере

· 9 мин

Содержание

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

Типичная ситуация: администратор уволился, нужно сделать копию или перенести базы на новый сервер, а никто не знает, где они физически лежат. Ниже пути по умолчанию для Windows и Linux, команды поиска и порядок переноса без потери данных.

Файловая или клиент-серверная: с чего начать поиск

Сначала определите вариант базы. От этого зависит, что искать: папку с файлом или базу данных в СУБД.

Самый быстрый способ — стартовое окно 1С. Выделите базу в списке и посмотрите строку под списком:

  • 📁 File="D:\Bases\Buh" — файловая база, данные в указанной папке;
  • 🖥️ Srvr="srv1c";Ref="buh" — клиент-серверная, srv1c — имя сервера 1С, buh — имя базы в кластере.

Тот же ответ даёт открытая база: Справка → О программе. В окне указан каталог файловой базы или сервер и имя базы.

ПризнакФайловая базаКлиент-серверная база
Где данныеодин файл 1Cv8.1CD в папкетаблицы в СУБД
Кто работает с файломкаждый клиент сам, по сетитолько сервер 1С и СУБД
Строка подключенияFile="…"Srvr="…";Ref="…"
Резервная копиякопия папки или выгрузка .dtсредства СУБД или выгрузка .dt
Для когонебольшой офис, мало пользователеймного пользователей, большие объёмы

Список баз пользователя хранится в файле %APPDATA%\1C\1CEStart\ibases.v8i. Это обычный текстовый файл: откройте его блокнотом, и вы увидите строки Connect= с путями ко всем базам из списка.

Путь к файловой базе 1С на сервере Windows и Linux

Файловая база — это папка. Внутри лежат:

  • 📄 1Cv8.1CD — сами данные: справочники, документы, регистры, конфигурация;
  • 📂 1Cv8Log — журнал регистрации;
  • 🗂️ служебные и временные файлы, которые платформа создаёт во время работы.

Копировать и переносить нужно всю папку целиком, а не один файл 1Cv8.1CD. Без 1Cv8Log база откроется, но история журнала регистрации пропадёт.

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

Если при создании базы путь не меняли, 1С предлагает папку в документах пользователя:

C:\Users\<имя пользователя>\Documents\InfoBase
C:\Users\<имя пользователя>\Documents\InfoBase1

На сервере так делать не стоит. Базы для общей работы обычно выносят в отдельный каталог на диске данных, например D:\1C_Bases\Buh, и открывают к нему общий доступ.

На Linux пути по умолчанию нет. Файловая база лежит там, где её создали. Чаще всего это домашний каталог пользователя или отдельный каталог вроде /srv/1c/bases.

Сетевой доступ к файловой базе

Когда файловая база лежит на сервере, пользователи открывают её по сети. Тогда в строке подключения стоит UNC-путь:

File="\\fileserver\1C_Bases\Buh"

Используйте UNC-путь, а не букву подключённого диска. У разных пользователей буква может отличаться, и база «пропадёт» у части сотрудников.

Права на папку с базой

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

Удобнее завести доменную группу, например «Бухгалтерия_1С», и выдать права ей. Права задают в двух местах: в разрешениях общего ресурса и на вкладке «Безопасность» папки. Действует более строгое из двух.

Если у одного сотрудника база открывается, а у другого — нет, первым делом сравните именно права на папку.

Данные клиент-серверной базы: MS SQL, PostgreSQL и srvinfo

В клиент-серверном варианте данные хранит СУБД. Сервер 1С обращается к ней сам, а клиенты к СУБД напрямую не подключаются. Схема такая: клиент → агент сервера 1С (порт 1540) → менеджер кластера (1541) → рабочие процессы → СУБД.

Как узнать имя базы в СУБД

Имя базы в кластере 1С и имя базы в СУБД часто различаются. Связь хранится в свойствах информационной базы:

  1. Откройте консоль «Администрирование серверов 1С:Предприятия».
  2. Разверните Центральный сервер → Кластеры → <кластер> → Информационные базы.
  3. Откройте свойства нужной базы.
  4. Посмотрите поля «Сервер баз данных», «Тип СУБД» и «База данных».

Для просмотра свойств может понадобиться логин и пароль администратора базы 1С. Если на кластер установлен администратор, консоль спросит и его.

Где лежат файлы базы в MS SQL Server

По умолчанию файлы данных лежат в каталоге экземпляра:

C:\Program Files\Microsoft SQL Server\MSSQL<версия>.MSSQLSERVER\MSSQL\DATA\

У каждой базы два файла: .mdf (данные) и .ldf (журнал транзакций). Точный путь покажет запрос в SQL Server Management Studio:

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

Здесь buh — значение поля «База данных» из консоли кластера.

Где лежат файлы базы в PostgreSQL

Каталог данных зависит от сборки и ОС. Не угадывайте, спросите сам сервер:

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

Файлы базы лежат в подкаталоге base/<oid> внутри каталога данных. Типичные варианты: /var/lib/postgresql/<версия>/main на Ubuntu с пакетом из репозитория, /var/lib/pgpro/1c-<версия>/data для Postgres Pro, C:\Program Files\PostgreSQL\<версия>\data на Windows.

Не копируйте файлы из каталога данных работающей СУБД вместо резервной копии. Такая копия часто не восстанавливается. Для бэкапа есть pg_dump и BACKUP DATABASE.

Что хранит сам сервер 1С: каталог srvinfo

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

  • Windows: C:\Program Files\1cv8\srvinfo (если каталог не меняли при установке службы);
  • Linux: /home/usr1cv8/.1cv8/1C/1cv8.

Внутри есть каталог reg_1541 с файлом 1CV8Clst.lst — реестром кластера: список баз, рабочих серверов, администраторов. Для каждой базы там же создаётся папка с именем-GUID, в ней лежит журнал регистрации 1Cv8Log и кэши. Самих данных бухгалтерии в srvinfo нет.

Точный путь к srvinfo на Windows виден в параметрах службы «Агент сервера 1С:Предприятия 8.3»: в строке запуска после ключа -d.

Как найти базы 1С на сервере, если путей никто не знает

Если списка нет, ищите по нескольким направлениям сразу.

Поиск файловых баз

На Windows в PowerShell:

Get-ChildItem -Path C:\, D:\ -Recurse -Filter 1Cv8.1CD -ErrorAction SilentlyContinue |
  Select-Object FullName, Length, LastWriteTime

На Linux:

find / -name "1Cv8.1CD" -type f 2>/dev/null

Поле LastWriteTime сразу показывает, с какими базами работают, а какие заброшены. Рабочая база меняется каждый день.

Поиск клиент-серверных баз

  1. 🖥️ Консоль администрирования: раздел «Информационные базы» кластера — полный список баз на этом сервере 1С.
  2. 🗄️ СУБД: список баз в SSMS или запрос SELECT datname FROM pg_database; в PostgreSQL.
  3. 💻 Файлы ibases.v8i на рабочих местах: они показывают, к каким базам реально подключаются пользователи.

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

Общий список баз для всех пользователей

Чтобы не прописывать базы на каждом компьютере вручную, используют общий список. В файле 1cestart.cfg добавляют строку CommonInfoBases= со ссылкой на общий .v8i-файл на сервере. Файл 1cestart.cfg лежит в %APPDATA%\1C\1CEStart\ для пользователя и в C:\ProgramData\1C\1CEStart\ для всех пользователей компьютера.

Резервное копирование баз 1С на сервере

Правила копирования для двух вариантов различаются.

СпособФайловаяКлиент-сервернаяНужно выгнать пользователей
Копия папки базыданетда
Выгрузка .dt в Конфигураторедадада
BACKUP DATABASE (MS SQL)—данет
pg_dump (PostgreSQL)—данет

Файловая база

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

Второй способ — Конфигуратор → Администрирование → Выгрузить информационную базу. Получится файл .dt, который загружается в любой вариант базы: файловый или серверный.

Клиент-серверная база

Основная копия делается средствами СУБД, без остановки работы пользователей:

BACKUP DATABASE [buh] TO DISK = N'E:\Backup\buh.bak' WITH INIT;
pg_dump -U postgres -Fc -f /backup/buh.dump buh

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

Проверка резервных копий
Выполнено: 0 / 5

Перенос базы 1С на другой сервер по шагам

Файловая база

  1. Попросите всех выйти из базы, проверьте, что сеансов нет.
  2. Скопируйте папку базы целиком на новый сервер.
  3. Дайте пользователям права на чтение и запись в этой папке.
  4. На рабочих местах удалите старую строку из списка баз и добавьте базу заново по новому пути. Либо поправьте путь в общем .v8i-файле.

Клиент-серверная база

Способ 1 — через СУБД, быстрее для больших баз:

  1. Сделайте бэкап на старом сервере (BACKUP DATABASE или pg_dump).
  2. Восстановите его на новом сервере СУБД.
  3. В консоли нового сервера 1С создайте информационную базу и укажите в поле «База данных» имя восстановленной базы. Галочку «Создать базу данных в случае её отсутствия» оставьте снятой.
  4. На рабочих местах замените имя сервера в строке подключения.

Способ 2 — через .dt: выгрузить на старом сервере, создать пустую базу на новом, загрузить .dt через Конфигуратор → Администрирование → Загрузить информационную базу. Этот же путь подходит для перевода файловой базы в серверную и обратно.

Загрузка .dt полностью заменяет данные в базе, куда вы загружаете. Проверьте, что открыли именно новую пустую базу, а не рабочую.

Версия платформы на новом сервере должна быть не ниже той, на которой работала база. Иначе база может не открыться.

Как разместить базы, чтобы сервер не тормозил

  • ⚡ SSD для данных. Файл 1Cv8.1CD и файлы СУБД чувствительны к скорости диска. Журнал транзакций MS SQL (.ldf) лучше вынести на отдельный диск.
  • 🛡️ Исключения в антивирусе. Добавьте в исключения папки с файловыми базами, каталог данных СУБД и srvinfo. Проверка «на лету» каждого обращения к 1Cv8.1CD заметно тормозит работу.
  • 🗂️ Бэкапы — отдельно. Каталог копий не держите на том же диске, что и рабочие базы: отказ диска унесёт и то и другое.
  • 📏 Следите за размером. Резкий рост .ldf в MS SQL обычно значит, что база в модели восстановления FULL, а копии журнала не делаются.
  • 🧹 Обслуживание файловой базы. Утилита chdbfl.exe из каталога bin платформы проверяет и сжимает файл 1Cv8.1CD. Запускайте её только когда в базе никого нет.
  • 🧭 Внятные имена. Папка D:\1C_Bases\Buh_OOO_Romashka и база в СУБД с таким же именем экономят время при следующем поиске.

Если файловая база упирается в скорость при работе 5–10 человек по сети, это повод перейти на клиент-серверный вариант. Перевод делается через выгрузку .dt, как описано выше.

Частые вопросы о размещении баз 1С

Можно ли открыть файл 1Cv8.1CD напрямую, без 1С?
Нет. Формат внутренний, читать его умеет только платформа 1С. Для доступа к данным нужна сама программа или выгрузка из неё.
Почему в каталоге srvinfo нет моих данных?
Потому что данные клиент-серверной базы хранятся в СУБД. В srvinfo лежат только реестр кластера, журналы регистрации и кэши.
Можно ли положить файловую базу на сетевой NAS?
Технически да, по UNC-пути. Но при обрыве сети риск повреждения файла выше, чем на сервере Windows. Для работы нескольких человек надёжнее клиент-серверный вариант или публикация базы на веб-сервере.
Как узнать размер клиент-серверной базы?
В MS SQL — запросом к sys.master_files или в свойствах базы в SSMS. В PostgreSQL — запросом SELECT pg_size_pretty(pg_database_size(‘buh’));.
Где искать базу, если в списке она есть, а при входе ошибка «Информационная база не обнаружена»?
Обычно база удалена из кластера или указано не то имя после Ref=. Сверьте строку подключения со списком баз в консоли администрирования.