К статье
Практический материал

Администрирование · 12 мин

Где находится серверная база 1С и как определить её расположение

Где физически хранится серверная база 1С на SQL Server, PostgreSQL и в кластере 1С. Способы узнать путь к базе, проверить расположение файлов и настроить хранение.

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

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

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

Как устроено хранение данных в клиент-серверной 1С

Клиент-серверная архитектура 1С состоит из трёх звеньев: клиентское приложение (тонкий, толстый или веб-клиент), сервер 1С:Предприятия и сервер СУБД. Данные физически размещаются только в третьем звене. Сервер 1С может работать на той же машине, что и СУБД, или на отдельном физическом/виртуальном сервере — на расположение файлов базы это не влияет.

На сервере 1С в каталоге srvinfo (по умолчанию C:\Program Files\1cv8\srvinfo на Windows или /opt/1cv8/srvinfo в Linux) хранятся: файл 1CV8Clst.lst со списком баз кластера, подкаталоги reg_1541 и аналогичные с журналами регистрации, файлами сеансовых данных и снимками. Это служебная информация, а не сама база.

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

Как узнать, какая СУБД и какая база используются

Первый шаг — открыть консоль администрирования серверов 1С (оснастка «Администрирование серверов 1С:Предприятия» на Windows или скрипты rac/ras на Linux). В дереве слева разверните кластер, откройте ветку «Информационные базы» и найдите нужную базу.

Двойной щелчок по базе открывает окно свойств. Здесь указаны ключевые параметры: тип СУБД (MSSQLServer, PostgreSQL, Oracle, DB2), имя сервера баз данных, имя базы данных в СУБД, а также пользователь СУБД, под которым сервер 1С подключается к базе. Именно сочетание «сервер СУБД + имя базы» и есть логическое расположение вашей базы.

Порядок действий
  1. 1
    Откройте консоль администрирования серверов 1С и разверните нужный кластер
  2. 2
    Откройте ветку «Информационные базы» и дважды щёлкните по нужной базе
  3. 3
    Запишите тип СУБД, имя сервера баз данных и имя базы данных
  4. 4
    Подключитесь к указанному серверу СУБД его штатными средствами
  5. 5
    Найдите базу по имени и посмотрите пути к её файлам данных и журнала

Если консоль кластера недоступна, альтернативный способ — посмотреть строку подключения в списке баз клиентского приложения. В свойствах базы в окне запуска 1С для серверного варианта указываются параметры вида Srvr="ИмяСервера";Ref="ИмяБазы";. Здесь Ref — имя базы в кластере 1С, которое обычно совпадает с именем базы в СУБД (но не гарантированно — проверяйте через консоль).

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

В MS SQL Server каждая база данных состоит минимум из двух файлов: основного файла данных с расширением MDF и файла журнала транзакций с расширением LDF. Могут быть добавлены дополнительные файлы данных NDF. Физическое расположение этих файлов задаётся при создании базы и может отличаться от каталога по умолчанию.

Чтобы узнать точные пути, подключитесь к SQL Server через SQL Server Management Studio (SSMS), найдите базу в списке, откройте её свойства и перейдите на страницу «Files» (Файлы). В колонке «Path» будут указаны полные пути к каждому файлу базы. Тот же результат даёт запрос к системному представлению:

sql
SELECT name, physical_name, type_desc FROM sys.master_files WHERE database_id = DB_ID('ИмяБазы1С');

По умолчанию файлы размещаются в каталоге данных экземпляра SQL Server, например C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA (номер версии в пути зависит от установленного релиза SQL Server). Однако на практике администраторы часто выносят файлы баз на отдельные диски или массивы, поэтому полагаться на путь «по умолчанию» нельзя — всегда проверяйте фактический путь через SSMS или запрос.

Важно понимать: копировать файлы MDF/LDF напрямую файловыми средствами при работающем SQL Server нельзя — они заблокированы службой. Для резервного копирования используйте штатную команду BACKUP DATABASE, а для переноса — отсоединение базы (Detach) с последующим присоединением (Attach) на новом месте.

Где лежат данные в PostgreSQL

В PostgreSQL структура хранения другая: все базы данных кластера PostgreSQL размещаются внутри единого каталога данных (data directory). Каждой базе соответствует подкаталог с числовым именем — это OID базы, а не её читаемое имя. Поэтому найти «папку с именем базы» напрямую не получится.

Расположение каталога данных зависит от способа установки. Для сборок PostgreSQL под 1С на Linux это часто /var/lib/pgsql/data или /var/lib/postgresql/<версия>/main, на Windows — каталог, указанный инсталлятором, например C:\Program Files\PostgreSQL\<версия>\data. Точный путь виден в параметрах запуска службы PostgreSQL или в файле postgresql.conf (параметр data_directory).

Чтобы связать имя базы 1С с её каталогом, выполните SQL-запрос к системному каталогу:

sql
SELECT oid, datname FROM pg_database WHERE datname = 'ИмяБазы1С';

Полученный OID совпадёт с именем подкаталога внутри data/base. Как и в случае с SQL Server, копировать этот каталог при работающем сервере нельзя — используйте pg_dump/pg_dumpall для логического резервного копирования или останавливайте службу для холодного копирования всего каталога данных.

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

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

Также в srvinfo хранятся журналы регистрации (в формате SQLite-файлов lgd или старом формате lgp), файлы снимков сеансов, очереди фоновых заданий и служебные блокировки. При переносе сервера 1С на другую машину каталог srvinfo нужно переносить целиком, иначе придётся заново регистрировать все базы в кластере.

Где что хранится

Сервер 1С (srvinfo)

Реестр баз кластера, журналы регистрации, сеансовые данные. Самих учётных данных здесь нет

Сервер СУБД

Все таблицы базы: справочники, документы, регистры, пользователи. Это и есть «серверная база» в физическом смысле

Клиентский компьютер

Только кэш метаданных и настройки пользователя. Данных базы на клиенте нет

Как отличить серверную базу от файловой

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

Если строка начинается с File="..." — это файловая база, и путь указывает на каталог с файлом 1Cv8.1CD. Если строка вида Srvr="...";Ref="..."; — база серверная, и её физическое расположение определяется через СУБД по инструкции выше. Тот же признак виден в конфигураторе: меню «Администрирование → Свойства информационной базы».

Типичные ошибки
01
Искать файл 1Cv8.1CD на сервере с серверной базой — его там нет, данные хранятся в СУБД
02
Настраивать резервное копирование только каталога srvinfo — данные базы при этом не сохраняются, копируется лишь реестр кластера
03
Копировать MDF/LDF файловым менеджером при работающем SQL Server — файлы заблокированы, а принудительное копирование даёт повреждённую копию
04
Путать имя базы в кластере 1С с именем базы в СУБД — они могут не совпадать, точное соответствие видно только в консоли кластера
05
Размещать файлы данных и журнала транзакций на одном диске с системой — при росте базы это приводит к переполнению системного тома

Перенос серверной базы на другой сервер

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

Для переноса базы в MS SQL Server типовой путь такой: выполните BACKUP DATABASE на старом сервере, скопируйте файл бэкапа на новый сервер, выполните RESTORE DATABASE. Затем в консоли кластера 1С откройте свойства базы и измените параметр «Сервер баз данных» на новый адрес. Для PostgreSQL аналогичная схема через pg_dump и pg_restore.

Если сервер СУБД не меняется, а переносится только сервер 1С, достаточно установить сервер 1С на новой машине, перенести каталог srvinfo (или заново зарегистрировать базы в кластере с теми же параметрами подключения к СУБД) и переключить клиентов на новый адрес сервера. Сама база при этом остаётся на прежнем месте в СУБД.

Контрольные точки

Как проверить результат

Свойства базы в консоли кластера
Норма

Указаны корректные сервер СУБД и имя базы, база открывается в клиенте

Тревожный признак

Ошибка соединения с СУБД при запуске клиента

Пути к файлам в SSMS или pg_settings
Норма

Файлы базы находятся на ожидаемом диске с достаточным свободным местом

Тревожный признак

Файлы на системном диске с критически малым объёмом свободного места

Резервное копирование
Норма

Выполняется штатный BACKUP DATABASE или pg_dump именно рабочей базы

Тревожный признак

Копируется только srvinfo или файлы копируются при работающей СУБД

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

Можно ли найти серверную базу 1С как обычный файл на диске?

Нет, единого файла у серверной базы нет. Данные распределены по файлам СУБД: MDF/LDF у MS SQL Server или по подкаталогам каталога данных у PostgreSQL. Узнать точные пути можно через свойства базы в SQL Server Management Studio или запрос к системным представлениям СУБД.

Где по умолчанию находится каталог srvinfo сервера 1С?

На Windows обычно это C:\Program Files\1cv8\srvinfo, на Linux — /opt/1cv8/srvinfo (для 64-разрядной версии путь может содержать x86_64). Точный каталог задаётся параметром -d при запуске агента сервера и виден в свойствах службы агента сервера 1С.

Достаточно ли копировать папку srvinfo для резервного копирования базы?

Нет. В srvinfo хранится только реестр кластера, журналы регистрации и служебные данные. Все учётные данные находятся в базе СУБД, поэтому резервное копирование нужно выполнять средствами СУБД: BACKUP DATABASE для SQL Server или pg_dump для PostgreSQL.

Имя базы в кластере 1С и в СУБД — это одно и то же?

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

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

Для SQL Server: сделайте полный бэкап, отсоедините базу (Detach), переместите файлы MDF/LDF на новый диск и присоедините базу (Attach) с новыми путями. Для PostgreSQL проще остановить службу, перенести каталог данных целиком и поправить путь в конфигурации службы. Все операции выполняйте только при остановленных сеансах пользователей и после проверочной резервной копии.

Почему клиент 1С не показывает, где физически лежит база?

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

Итог

Что важно запомнить

Серверная база 1С физически хранится в СУБД — MS SQL Server, PostgreSQL, Oracle или DB2, а не на сервере 1С. Каталог srvinfo содержит лишь реестр кластера и журналы. Точное расположение файлов базы определяйте через консоль кластера 1С и средства СУБД, а резервное копирование и перенос выполняйте только штатными механизмами СУБД.