Файл 1Cv8.1CD или таблицы СУБД: куда 1С кладёт данные на сервере
Содержание
Ответ зависит от варианта базы. Файловая база 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С. Если на кластер установлен администратор, консоль спросит и его.
Где лежат файлы базы в 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С.
- 🗄️ СУБД: список баз в SSMS или запрос
SELECT datname FROM pg_database;в PostgreSQL. - 💻 Файлы
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 делайте дополнительно, перед обновлением конфигурации или переносом. Для ежедневных копий большой базы она неудобна: требует монопольного доступа и идёт долго.
Перенос базы 1С на другой сервер по шагам
Файловая база
- Попросите всех выйти из базы, проверьте, что сеансов нет.
- Скопируйте папку базы целиком на новый сервер.
- Дайте пользователям права на чтение и запись в этой папке.
- На рабочих местах удалите старую строку из списка баз и добавьте базу заново по новому пути. Либо поправьте путь в общем
.v8i-файле.
Клиент-серверная база
Способ 1 — через СУБД, быстрее для больших баз:
- Сделайте бэкап на старом сервере (
BACKUP DATABASEилиpg_dump). - Восстановите его на новом сервере СУБД.
- В консоли нового сервера 1С создайте информационную базу и укажите в поле «База данных» имя восстановленной базы. Галочку «Создать базу данных в случае её отсутствия» оставьте снятой.
- На рабочих местах замените имя сервера в строке подключения.
Способ 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, как описано выше.