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

· 10 мин

Содержание

Ответ зависит от варианта работы. Файловая база 1С — это каталог с файлом 1Cv8.1CD на диске сервера или общей папке. Клиент-серверная база хранится не у сервера 1С, а в СУБД: в MS SQL это файлы .mdf и .ldf, в PostgreSQL — каталог данных кластера СУБД. Точный путь видно в строке соединения: File="..." для файловой базы, Srvr="...";Ref="..." для серверной.

Частое заблуждение — искать файл базы в папке, куда установлен сервер 1С:Предприятие. В C:\Program Files\1cv8 лежат программа и служебные данные кластера, но не бухгалтерия. Разберём по порядку: где физически хранятся данные при каждом варианте, как устроен каталог сервера, как вычислить путь конкретной базы и как её правильно копировать.

Файловая база 1С: каталог и файлы на диске

В файловом варианте вся база — это одна папка. Её выбирают при создании базы, по умолчанию программа предлагает C:\Users\<пользователь>\Documents\InfoBase (следующие базы — InfoBase1, InfoBase2 и так далее). На сервере такую папку обычно кладут на отдельный диск и открывают к ней сетевой доступ.

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

  • 📦 1Cv8.1CD — сам файл базы: конфигурация, справочники, документы, регистры. Это главное, что нужно беречь.
  • 🔒 1Cv8.1CL — файл блокировки. Появляется, пока с базой работают, и показывает, что она занята.
  • 📜 1Cv8Log — папка журнала регистрации. В 8.3 журнал по умолчанию хранится в файле 1Cv8.lgd, в старом формате — в файлах .lgf и .lgp.
  • 🔍 1Cv8FTxt — индекс полнотекстового поиска. Его можно пересоздать, ценных данных в нём нет.

Размер базы почти целиком определяется файлом 1Cv8.1CD. Если он вырос до нескольких гигабайт, а пользователей больше десятка — это повод задуматься о переходе на клиент-серверный вариант.

Список баз, которые видит пользователь в окне запуска, хранится в файле %APPDATA%\1C\1CEStart\ibases.v8i. Откройте его Блокнотом: у каждой базы есть строка Connect=File="D:\Bases\Buh"; — это и есть путь к каталогу.

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

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

В клиент-серверном варианте работают три компонента:

КомпонентЧто делаетГде хранит своё
Клиент 1СПоказывает интерфейс пользователюКэш и настройки в профиле пользователя
Сервер 1С:ПредприятиеВыполняет код, держит сеансы и блокировкиКаталог кластера srvinfo
СУБД (MS SQL, PostgreSQL и другие)Хранит таблицы базыФайлы данных СУБД

Клиент сначала обращается к агенту сервера на порт 1540, затем к менеджеру кластера на 1541 и к рабочим процессам. Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера, по умолчанию это 1560–1591. Данные рабочие процессы читают и пишут в СУБД.

Поэтому база в этом варианте — это база данных СУБД. Сервер 1С и СУБД могут стоять на одной машине или на разных.

MS SQL Server

Каждая база 1С — отдельная база SQL с двумя файлами: данные .mdf и журнал транзакций .ldf. Папка по умолчанию зависит от версии SQL Server, например C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA. Администратор часто переносит её на отдельный диск.

Точный путь показывает запрос в 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

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

SHOW data_directory;
SELECT oid, datname FROM pg_database;

Первый запрос выведет путь, например /var/lib/pgsql/data в Linux или папку data внутри каталога установки PostgreSQL в Windows. Второй — какой номер папки соответствует вашей базе.

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

Что лежит в каталоге сервера 1С:Предприятие

Сервер 1С ставится в C:\Program Files\1cv8\<номер версии>\bin в Windows и в /opt/1cv8/x86_64/<номер версии> в Linux. Там исполняемые файлы: ragent.exe (агент), rmngr.exe (менеджер кластера), rphost.exe (рабочий процесс), утилиты ras и rac.

Служебные данные кластера живут отдельно — в каталоге srvinfo. Его путь задаётся параметром -d при запуске агента. Типичные варианты:

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

Если установщик или администратор задал другой путь, его видно в параметрах службы. В Windows откройте services.msc, найдите службу агента сервера 1С:Предприятие и посмотрите поле «Исполняемый файл» — после -d будет каталог. В Linux то же видно в выводе ps aux | grep ragent или в файле unit-службы systemd.

Внутри srvinfo обычно такая структура:

srvinfo\
  1cv8wsrv.lst            список кластеров на этом сервере
  reg_1541\               данные кластера с портом 1541
    1CV8Clst.lst          реестр кластера: базы, серверы, администраторы
    <GUID базы>\          папка каждой информационной базы
      1Cv8Log\            журнал регистрации базы
      1Cv8FTxt\           индекс полнотекстового поиска
    snccntx<GUID>\        сеансовые данные

Главный файл здесь — 1CV8Clst.lst. В нём записано, какие базы зарегистрированы в кластере и к каким базам СУБД они подключены. Без него сервер «забывает» базы, хотя данные в СУБД остаются целы.

Журнал регистрации клиент-серверной базы хранится на сервере 1С, а не в СУБД. Если нужно разобраться, кто и что менял, ищите папку 1Cv8Log внутри reg_1541\<GUID базы>. GUID базы виден в консоли кластера.

Как узнать точный путь к базе 1С на сервере

Есть четыре способа. Выбирайте по тому, какой доступ у вас есть.

Из самой программы

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

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

То же значение возвращает функция СтрокаСоединенияИнформационнойБазы(), если нужно получить его программно.

В окне запуска

Выделите базу в списке — путь или сервер с именем базы отображаются внизу окна. Кнопка «Изменить» откроет параметры подключения полностью.

Через консоль администрирования серверов 1С

Строка Ref="buh" — это имя базы в кластере, а не в СУБД. Они могут не совпадать. Чтобы узнать, где лежат таблицы:

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

Дальше идёте на сервер СУБД и выполняете запрос из раздела выше — он покажет файлы на диске.

Через rac из командной строки

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

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

В выводе последней команды есть параметры db-server, dbms и db-name — сервер СУБД, её тип и имя базы данных. Если на кластере задан администратор, добавьте параметры авторизации кластера; их список выведет rac help cluster.

Как выглядит строка соединения вашей базы?

База 1С в облаке и на терминальном сервере

Облачные сервисы

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

Что это значит на практике:

  • 🌐 пути к .1CD или к базе SQL вы не узнаете, и он вам не нужен;
  • 📥 чтобы получить свою базу на руки, пользуйтесь выгрузкой копии в личном кабинете или менеджере сервиса — провайдеры дают файл, который можно загрузить в локальную 1С;
  • 🔐 сроки хранения резервных копий и порядок восстановления прописаны в договоре или тарифе — проверьте их до того, как понадобится откат.

Если провайдер арендует вам отдельный сервер (а не место в общем сервисе), применимо всё, что написано выше про файловый и клиент-серверный вариант.

Терминальный сервер (RDP)

При работе через удалённый рабочий стол клиент 1С запускается на терминальном сервере. База может лежать:

  • на диске самого терминального сервера (файловая);
  • в общей папке на другом сервере (файловая по сети);
  • на сервере 1С с СУБД (клиент-серверная).

Ищите строку соединения тем же способом: Справка → О программе внутри сеанса RDP или файл ibases.v8i в профиле пользователя на терминальном сервере.

На терминальных серверах список баз часто раздают централизованно. Тогда в файле 1cestart.cfg (в %APPDATA%\1C\1CEStart или в %ProgramData%\1C\1CEStart) есть параметр CommonInfoBases= со ссылкой на общий .v8i. Пути баз смотрите в нём.

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

Способ копирования зависит от того, где хранятся данные.

СпособДля какого вариантаКогда подходитНа что смотреть
Копия каталога базыФайловыйЕжедневно, по расписанию ночьюТолько когда в базе никого нет
Выгрузка .dt из КонфигуратораОбаПеред обновлением, переносомЗагрузка .dt полностью заменяет данные базы
Средства MS SQL (BACKUP DATABASE)Клиент-серверныйОсновной способ, по расписаниюМодель восстановления и журнал .ldf
pg_dumpКлиент-серверный на PostgreSQLОсновной способ, по расписаниюХватает ли места на диске для дампа

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

Пример копии средствами СУБД:

-- MS SQL Server
BACKUP DATABASE [buh] TO DISK = N'D:\Backup\buh.bak' WITH INIT;
# PostgreSQL
pg_dump -U postgres -Fc -f /backup/buh.backup buh

Каталог srvinfo тоже стоит копировать — хотя бы файл 1CV8Clst.lst. При аварии сервера 1С он позволит быстро вернуть регистрацию баз, администраторов и настройки кластера. Копируйте его при остановленной службе агента: остановка службы обрывает сеансы всех пользователей, поэтому делайте это вне рабочего времени и предупредите людей.

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

Резервные копии базы на сервере
Выполнено: 0 / 5

Частые ошибки при поиске и переносе базы

  • ❌ Искать данные в каталоге установки сервера. В C:\Program Files\1cv8 бухгалтерии нет. Для серверной базы смотрите СУБД.
  • ❌ Путать имя базы в кластере и имя базы в СУБД. Ref="buh" в строке соединения и база buh_2019 в SQL — нормальная ситуация. Сверяйтесь со свойствами базы в консоли.
  • ❌ Копировать файлы .mdf или папку data PostgreSQL при работающей службе. Такая копия, скорее всего, не восстановится. Используйте средства СУБД.
  • ❌ Удалять «лишние» папки в srvinfo. Папки с GUID — это журналы регистрации и индексы баз. Удаление журнала уничтожит историю действий пользователей.
  • ❌ Хранить копии на том же диске, что и база. При отказе диска пропадут обе.

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

Можно ли открыть базу 1С, просто скопировав файл 1Cv8.1CD на другой компьютер?
Да, для файловой базы это работает: положите файл в отдельную папку и добавьте её в список баз как существующую. Нужна установленная платформа подходящей версии и лицензия.
Почему в каталоге файловой базы постоянно висит файл 1Cv8.1CL?
Он создаётся, пока с базой кто-то работает. Если пользователей нет, а файл остался, обычно где-то не закрыт сеанс или процесс 1cv8.exe. Закройте его штатно, а не удаляйте файл при открытых сеансах.
Где хранятся настройки пользователей серверной базы?
Настройки отчётов, форм и списков хранятся в самой базе, то есть в СУБД. На компьютере пользователя остаются кэш и локальные настройки клиента в профиле.
Можно ли хранить файловую базу на сетевом диске?
Можно, это обычная схема для небольших офисов. Скорость и надёжность при этом зависят от сети: при обрывах связи растёт риск повреждения файла, поэтому при 10–15 одновременных пользователях лучше перейти на клиент-серверный вариант.
Как перенести серверную базу на новый сервер?
Самый простой путь — выгрузить .dt на старом сервере, создать новую базу в кластере нового сервера и загрузить в неё файл. Для больших баз быстрее перенести базу средствами СУБД и зарегистрировать её в новом кластере.