Как узнать, где лежит информационная база 1С на диске и на сервере

· 9 мин

Содержание

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

Способ поиска зависит от того, как база развёрнута. Файловую находят по каталогу с файлом 1Cv8.1CD. Серверную ищут через консоль кластера или в самой СУБД. Если 1С уже открыта, самый быстрый вариант не требует ни проводника, ни консоли: функция СтрокаСоединенияИнформационнойБазы() вернёт всё сразу.

Файловая или серверная: сначала определите тип базы

Не ищите файлы там, где их быть не может. Сначала выясните вариант работы.

ПризнакФайловая базаКлиент-серверная
Строка в окне запускаFile="D:\Bases\Buh";Srvr="srv-1c";Ref="buh";
Где данныеодин каталог с 1Cv8.1CDСУБД (PostgreSQL, MS SQL и др.)
Кто обслуживаетсам пользователь или программистадминистратор сервера
Несколько пользователейдопустимо, но быстро тормозитрассчитана на десятки и сотни

Три способа узнать тип, от простого к надёжному:

  1. В окне запуска выделите базу и посмотрите на нижнюю строку. Слово File или Srvr сразу всё говорит.
  2. Нажмите Изменить в окне запуска. На первой странице мастера будет видно, где расположена база: на этом компьютере, в локальной сети или на сервере 1С:Предприятия.
  3. Откройте базу и выполните в консоли кода или во внешней обработке запрос функции ИнформационнаяБазаФайловая(). Истина означает файловый вариант.

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

Как читать строку соединения

Строка состоит из пар «параметр=значение», разделённых точкой с запятой. Разберём два типичных примера.

СтрокаЧто значит
File="D:\Bases\Buh";файловая база, каталог D:\Bases\Buh на этом же компьютере
File="\\fileserver\1c\Trade";файловая база на сетевом ресурсе, физически лежит на другой машине
Srvr="srv-1c:1541";Ref="buh_prod";серверная база buh_prod в кластере на сервере srv-1c, порт менеджера кластера 1541

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

Если в строке стоит несколько серверов через запятую, кластер развёрнут на нескольких машинах. Тогда за расположением данных обращайтесь к администратору: самостоятельно угадать, какой из серверов хранит СУБД, не получится.

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

Файловая база — это обычная папка. В ней лежит главный файл данных 1Cv8.1CD. Всё остальное — служебное.

Через окно запуска

  1. Запустите 1С, в списке выберите базу (один клик, не запуск).
  2. Прочитайте путь под списком. После File= идёт каталог.
  3. Если путь длинный и не читается, нажмите Изменить: в поле «Каталог информационной базы» он показан целиком, его можно выделить и скопировать.
  4. Вставьте путь в адресную строку проводника.

Сетевые пути выглядят как \\server\share\Buh. Такая база физически лежит на другом компьютере. Проверяйте это раньше, чем начнёте искать файл у себя.

Из запущенной базы

Если база открыта, а где она лежит, неизвестно, пригодится код:

Сообщить(СтрокаСоединенияИнформационнойБазы());
Сообщить(КаталогИнформационнойБазы()); // только для файловой базы

Первая строка вернёт полную строку соединения. Вторая отдаст каталог. На сервере вторая функция не сработает: каталога базы как такового у клиента нет.

Поиск по имени файла

Бывает, что список баз потерян, а база нужна. Тогда ищите главный файл:

  • в проводнике Windows введите в поиск 1Cv8.1CD и укажите диск;
  • в командной строке: dir C:\ /s /b | findstr /i 1Cv8.1CD.

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

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

Открыв папку, вы увидите примерно такой набор:

ОбъектЧто этоМожно ли трогать
1Cv8.1CDвсе данные базынет, только копировать при закрытой базе
1Cv8Logжурнал регистрации (файлы .lgp, .lgf)не удаляйте при работающей базе
1Cv8FTxtиндекс полнотекстового поискаможно пересоздать средствами 1С

Не открывайте и не редактируйте 1Cv8.1CD сторонними программами. Любая запись мимо платформы портит структуру, и восстановить базу удастся только из архивной копии.

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

Ещё два практических совета по каталогу базы:

  • Права на папку. Каждый, кто работает с файловой базой, должен иметь право записи в её каталог. Если пользователь открывает базу и получает ошибку доступа, начните с прав на папку, а не с платформы.
  • Антивирус. Сканирование каталога базы в реальном времени замедляет работу, а иногда блокирует файлы. Администраторы обычно добавляют каталог в исключения, но делают это осознанно и по согласованию с безопасниками.
  • Место на диске. Журнал регистрации и копии растут незаметно. Проверяйте свободное место раз в месяц, чтобы база не упёрлась в нулевой остаток в разгар отчётного периода.

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

Список баз на компьютере: ibases.v8i и реестр

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

Обычное расположение для Windows: %APPDATA%\1C\1CEStart\ibases.v8i. Вставьте этот путь в адресную строку проводника, переменная раскроется сама.

Внутри файл читается как обычный текст. Каждая база описана блоком:

[Бухгалтерия предприятия]
Connect=File="D:\Bases\Buh";
ID=7f3c2a10-0000-0000-0000-000000000001
OrderInList=1
Folder=/
OrderInTree=16384
External=0
ClientConnectionSpeed=Normal
App=Auto
WA=1

Нужное вам поле — Connect. В квадратных скобках стоит имя базы так, как оно видно в списке запуска.

Что с этим делать:

  • ищете расположение: откройте файл блокнотом и найдите блок по имени;
  • переносите список на новый ПК: скопируйте ibases.v8i в ту же папку (новому пользователю нужно сначала один раз запустить 1С, чтобы папка появилась);
  • восстанавливаете утерянную базу в списке: добавьте блок вручную, подставив свой путь, или проще: Добавить → Добавление существующей информационной базы, как в мастере.

Если у пользователя настроен общий список баз, путь к нему указывается в конфигурационном файле запуска параметром CommonInfoBases (файл 1cestart.cfg). Админы используют его, чтобы раздать один набор баз всем рабочим местам. Это объясняет случай, когда базы в окне запуска есть, а в вашем ibases.v8i их нет.

Перед правкой ibases.v8i сделайте копию файла. Одна неверная скобка, и часть списка пропадёт из окна запуска.

Где находится клиент-серверная база

У серверной базы нет «пути» в привычном смысле. Данные хранит СУБД, а за подключение отвечает кластер серверов 1С. Поэтому информацию собирают в два шага: сначала через кластер, потом в СУБД.

Шаг 1. Что говорит кластер серверов 1С

Подключитесь к консоли администрирования серверов 1С:Предприятия (на сервере она ставится вместе с платформой, часто есть и как отдельный компонент). Дальше:

  1. В дереве раскройте Центральные серверы 1С:Предприятия и ваш сервер.
  2. Откройте Кластеры и выберите нужный кластер.
  3. Перейдите в Информационные базы и откройте свойства нужной базы (двойной клик).

В свойствах вы увидите три важные вещи:

  • имя базы в кластере (оно же в строке Ref=);
  • сервер баз данных, то есть адрес сервера СУБД;
  • имя базы данных: так она называется внутри СУБД. Оно может отличаться от имени в кластере.

Консоль требует прав администратора кластера. Если их нет, обратитесь к админу с готовой строкой соединения.

То же самое делает утилита командной строки rac. Она ставится рядом с сервером. Для начала выполните rac cluster list, чтобы получить идентификатор кластера, и далее смотрите справку rac help: точные параметры зависят от версии платформы.

Шаг 2. Что показывает СУБД

Зная сервер баз данных и имя базы данных, остальное смотрят штатными средствами СУБД.

PostgreSQL. Подключитесь через psql и выполните:

\l

В списке найдите имя базы данных из кластера. Физически она хранится в каталоге данных PostgreSQL (data), но расположение отдельной базы там задаётся внутренними идентификаторами, а не читаемым именем. Вручную в этих файлах копаться бессмысленно: резервную копию делают командой pg_dump или инструментами 1С.

Microsoft SQL Server. В Management Studio выполните:

SELECT name, physical_name
FROM sys.master_files
WHERE database_id = DB_ID('имя_базы_данных');

Запрос покажет файлы данных (.mdf) и журнала (.ldf) с полными путями на диске сервера.

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

Не нашли базу: типичные ситуации и что с ними делать

Диагностика: выберите симптом

Ещё одна частая причина путаницы: на компьютере несколько установленных платформ, и у каждой свой список запуска может читаться через общие настройки. Если базы «потерялись» после установки новой версии платформы, сравните ibases.v8i и общий список в 1cestart.cfg.

Что сделать, когда база найдена

Найти файл мало. Дальше обычно нужно одно из трёх: сделать копию, перенести базу или передать путь коллеге. Короткая памятка перед любым из этих действий:

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

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

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

Можно ли хранить файловую базу в облачной папке (Яндекс.Диск, OneDrive)?
Не стоит. Синхронизатор может захватить файл в момент записи и испортить его. Держите базу на обычном диске, а в облако отправляйте только готовые архивные копии.
Чем отличается файл 1Cv8.1CD от файла выгрузки .dt?
1Cv8.1CD — сама база со всеми данными и структурой. Файл .dt — выгрузка базы, из которой её можно развернуть заново в любом варианте работы.
Можно ли переместить файловую базу в другую папку?
Да. Закройте все сеансы, скопируйте каталог целиком, затем в окне запуска измените путь через Изменить. Старый каталог не удаляйте, пока не убедитесь, что новая копия открывается.
Как узнать путь к серверной базе без доступа к консоли кластера?
Откройте базу и выведите СтрокаСоединенияИнформационнойБазы(). Вы получите сервер и имя базы в кластере. Физическое расположение данных всё равно скажет только администратор СУБД.
Почему размер каталога базы больше, чем размер файла 1Cv8.1CD?
В каталоге лежат ещё журнал регистрации и индекс полнотекстового поиска. Журнал со временем занимает заметное место, его при необходимости сокращают штатными настройками.