Как узнать, где лежит информационная база 1С на диске и на сервере
Содержание
Путь к базе 1С показывает окно запуска: выделите базу в списке и посмотрите на строку под ним. Если база файловая, там будет каталог на диске. Если клиент-серверная, там будет имя сервера и имя базы на нём, а физических файлов на вашем компьютере нет вообще.
Способ поиска зависит от того, как база развёрнута. Файловую находят по каталогу с файлом 1Cv8.1CD. Серверную ищут через консоль кластера или в самой СУБД. Если 1С уже открыта, самый быстрый вариант не требует ни проводника, ни консоли: функция СтрокаСоединенияИнформационнойБазы() вернёт всё сразу.
Файловая или серверная: сначала определите тип базы
Не ищите файлы там, где их быть не может. Сначала выясните вариант работы.
| Признак | Файловая база | Клиент-серверная |
|---|---|---|
| Строка в окне запуска | File="D:\Bases\Buh"; | Srvr="srv-1c";Ref="buh"; |
| Где данные | один каталог с 1Cv8.1CD | СУБД (PostgreSQL, MS SQL и др.) |
| Кто обслуживает | сам пользователь или программист | администратор сервера |
| Несколько пользователей | допустимо, но быстро тормозит | рассчитана на десятки и сотни |
Три способа узнать тип, от простого к надёжному:
- В окне запуска выделите базу и посмотрите на нижнюю строку. Слово
FileилиSrvrсразу всё говорит. - Нажмите Изменить в окне запуска. На первой странице мастера будет видно, где расположена база: на этом компьютере, в локальной сети или на сервере 1С:Предприятия.
- Откройте базу и выполните в консоли кода или во внешней обработке запрос функции
ИнформационнаяБазаФайловая().Истинаозначает файловый вариант.
Строка соединения содержит и логин сервера, и имя базы, поэтому её удобно копировать в заявку админу: по ней он найдёт нужную базу без уточняющих вопросов.
Как читать строку соединения
Строка состоит из пар «параметр=значение», разделённых точкой с запятой. Разберём два типичных примера.
| Строка | Что значит |
|---|---|
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С, в списке выберите базу (один клик, не запуск).
- Прочитайте путь под списком. После
File=идёт каталог. - Если путь длинный и не читается, нажмите Изменить: в поле «Каталог информационной базы» он показан целиком, его можно выделить и скопировать.
- Вставьте путь в адресную строку проводника.
Сетевые пути выглядят как \\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С:Предприятия и ваш сервер.
- Откройте Кластеры и выберите нужный кластер.
- Перейдите в Информационные базы и откройте свойства нужной базы (двойной клик).
В свойствах вы увидите три важные вещи:
- имя базы в кластере (оно же в строке
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 профиля пользователя Windows. Вход под другой учётной записью или чистка профиля даёт пустой список. Проверьте файл в %APPDATA%\1C\1CEStart\ под нужным пользователем, либо добавьте базу заново по известному пути.1Cv8.1CD по всему диску и сравните даты изменения..dt — это выгрузка, а не сама база. База создаётся там, где вы указали каталог при создании. Посмотрите свойства созданной базы в окне запуска.Ещё одна частая причина путаницы: на компьютере несколько установленных платформ, и у каждой свой список запуска может читаться через общие настройки. Если базы «потерялись» после установки новой версии платформы, сравните ibases.v8i и общий список в 1cestart.cfg.
Что сделать, когда база найдена
Найти файл мало. Дальше обычно нужно одно из трёх: сделать копию, перенести базу или передать путь коллеге. Короткая памятка перед любым из этих действий:
Для серверных баз копирование выполняют средствами СУБД или выгрузкой в файл .dt из конфигуратора с монопольным доступом. Выгрузка не заменяет резервную копию СУБД, но она подходит для переноса между вариантами работы.
Частые вопросы
Можно ли хранить файловую базу в облачной папке (Яндекс.Диск, OneDrive)?
Чем отличается файл 1Cv8.1CD от файла выгрузки .dt?
1Cv8.1CD — сама база со всеми данными и структурой. Файл .dt — выгрузка базы, из которой её можно развернуть заново в любом варианте работы.Можно ли переместить файловую базу в другую папку?
Как узнать путь к серверной базе без доступа к консоли кластера?
СтрокаСоединенияИнформационнойБазы(). Вы получите сервер и имя базы в кластере. Физическое расположение данных всё равно скажет только администратор СУБД.