Переключение 1С на другую базу: каталог, SQL-кластер, ibases.v8i

· 10 мин

Содержание

«Поменять базу» в 1С почти никогда не значит залезать в SQL. В 90% случаев задача решается в окне запуска: вы выбираете базу в списке, жмёте Изменить и указываете новый каталог или новый сервер. Сама база данных при этом не трогается — меняется только запись о том, где её искать.

Разберёмся отдельно для двух вариантов: файлового (база — папка с файлом 1Cv8.1CD) и клиент-серверного (данные в СУБД, 1С подключается через кластер серверов ). Отдельно — ручная правка списка баз через ibases.v8i и перенос базы между файловым и серверным режимом. Пути указаны для платформы 8.3 с интерфейсом «Такси».

Сначала — резервная копия

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

Для файловой базы проще всего скопировать папку целиком. Копируйте каталог только тогда, когда базу никто не открыл — иначе файл 1Cv8.1CD скопируется в несогласованном состоянии. Закройте все сеансы, затем скопируйте папку с файлом 1Cv8.1CD в надёжное место.

Универсальный способ для обоих вариантов — выгрузка через конфигуратор: Администрирование → Выгрузить информационную базу. Получите файл .dt — это полный слепок данных и конфигурации. Выгрузка требует монопольного доступа, то есть в базе не должно быть активных сеансов.

Для серверной базы с большим объёмом данных .dt может выгружаться долго. Для регулярного резервирования промышленной базы правильнее настроить бэкап средствами самой СУБД (например, .bak в MS SQL), а .dt оставить для переноса.

Перед сменой базы
Выполнено: 0 / 4

Как сменить путь к файловой базе в окне запуска

Это основной сценарий, когда базу перенесли в другую папку, на сетевой диск или на новый компьютер, а ярлык 1С ведёт на старое место.

  1. Запустите 1С — откроется окно со списком баз.
  2. Выделите нужную базу в списке и нажмите Изменить.
  3. На первом шаге мастера оставьте переключатель На данном компьютере или на компьютере в локальной сети, нажмите Далее.
  4. В поле Каталог информационной базы укажите новый путь к папке, где лежит файл 1Cv8.1CD.
  5. Нажмите Далее, затем Готово.

Путь можно вводить как локальный (D:\Bases\Buh), так и сетевой в формате UNC (\\server\1c\Buh). Подключать базу по сетевому пути через букву подключённого диска не стоит: у разных пользователей буква может быть разной, а UNC одинаков для всех.

Если базы в списке вообще нет (чистая установка, новый профиль Windows), жмите не Изменить, а Добавить → Добавление в список существующей информационной базы и так же укажите каталог.

Проверить, что в папке именно база, а не её остатки, просто: там должен быть файл 1Cv8.1CD. Если его нет — вы указали не ту папку, и 1С при запуске предложит создать новую пустую базу. Это частый способ случайно «потерять» данные: не подтверждайте создание, если ждёте существующую базу.

Переподключение к SQL-серверу и смена кластера

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

Порядок тот же — через Изменить в окне запуска:

  1. Выделите базу, нажмите Изменить.
  2. На первом шаге выберите На сервере 1С:Предприятия, нажмите Далее.
  3. В поле Кластер серверов 1С:Предприятия укажите имя сервера приложений. Если кластер работает на нестандартном порту, добавьте его через двоеточие: app-server:1641.
  4. В поле Имя информационной базы в кластере впишите имя базы ровно так, как оно зарегистрировано в кластере (регистр и символы важны).
  5. Нажмите Далее, Готово.

Имя сервера и имя базы — это не то же самое, что имя базы данных в SQL. На уровне кластера база 1С называется так, как её назвали при создании; в SQL ей соответствует отдельная БД, имя которой может отличаться. Клиенту вы указываете именно имя в кластере.

Про порты. При подключении клиент сначала обращается к агенту сервера (по умолчанию порт 1540), тот переадресует к менеджеру кластера (1541) и далее к рабочим процессам. Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера в консоли администрирования. Если между клиентом и сервером есть межсетевой экран, открыть нужно весь этот набор, а не только 1540.

Менять сам кластер (имя сервера приложений) имеет смысл при переезде на новое «железо». Если база просто «не видится», сначала проверьте, что служба 1C:Enterprise 8.x Server Agent на сервере запущена и что имя базы в кластере совпадает с тем, что вы вводите. Пересоздавать кластер или удалять базу в консоли для решения проблемы подключения не нужно.

Чем отличается имя базы в кластере от строки соединения

Когда вы заводите базу вручную или через скрипт, подключение описывается строкой соединения. Для серверной базы она выглядит так:

Srvr="app-server";Ref="buh_base";

Здесь Srvr — имя (или адрес) сервера приложений, Ref — имя базы в кластере. Для файловой базы строка другая:

File="D:\Bases\Buh";

Понимание этих двух форматов пригодится в следующем разделе — при ручной правке списка баз.

Подключение к базе через веб-сервер

Третий вариант в мастере — На веб-сервере. Его выбирают, когда база опубликована через веб-сервер (Apache или IIS) и к ней ходят тонким либо веб-клиентом, в том числе из интернета. «Поменять базу» в этом случае — указать клиенту другой адрес публикации.

  1. В окне запуска нажмите Изменить на нужной базе.
  2. Выберите На веб-сервере, нажмите Далее.
  3. В поле Адрес информационной базы впишите URL публикации, например https://1c.company.ru/buh.
  4. При необходимости задайте тип соединения и таймаут, нажмите Готово.

Адрес должен совпадать с именем публикации, которое настроил администратор на веб-сервере. Если URL введён верно, а база не открывается, причина обычно на стороне сервера: не запущена служба веб-сервера, не опубликована база или сертификат https не принят. Проверять это нужно на сервере, в клиенте тут поменять нечего, кроме самого адреса.

Строка соединения для такой базы в списке запуска отличается от файловой и серверной — она содержит URL публикации, а не путь или имя в кластере.

Правка списка баз вручную через ibases.v8i

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

Список баз конкретного пользователя хранится в файле ibases.v8i. Путь к нему:

%APPDATA%\1C\1CEStart\ibases.v8i

Это обычный текстовый файл в кодировке UTF-8. Каждая база — отдельная секция, имя секции в квадратных скобках совпадает с названием базы в списке запуска:

[Бухгалтерия предприятия]
Connect=File="D:\Bases\Buh";
ID=1a2b3c4d-0000-0000-0000-000000000000
OrderInList=100
Folder=/
OrderInTree=0
External=0
App=Auto
Version=8.3

Чтобы сменить путь файловой базы, меняете строку Connect. Для переезда на сервер замените её на серверный вариант:

Connect=Srvr="app-server";Ref="buh_base";

Правила безопасной правки:

  • 📌 Закройте окно запуска 1С перед редактированием — иначе ваши правки затрёт при выходе.
  • 📌 Не трогайте строку ID — это внутренний идентификатор записи, по нему платформа отличает базы в списке.
  • 📌 Правьте только Connect, если задача — сменить местоположение базы.

Есть и общий список баз на несколько рабочих мест. Он задаётся в файле 1CEStart.cfg (там же, в %APPDATA%\1C\1CEStart\) параметром CommonInfoBases, который указывает на сетевой ibases.v8i:

CommonInfoBases=\\server\1c\ibases.v8i

Так один файл со списком баз раздаётся всем пользователям: поменяли путь или сервер в сетевом ibases.v8i — у всех обновилось при следующем запуске. Удобно, когда баз много и переезжают они все разом.

Перенос базы между файловым и серверным режимом

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

Механизм один — через выгрузку/загрузку .dt:

  1. Из исходной базы выгрузите данные в .dt: конфигуратор → Администрирование → Выгрузить информационную базу. Нужен монопольный доступ (все сеансы закрыты).
  2. Создайте базу-приёмник в целевом режиме и оставьте её пустой:
    • для серверной — через консоль администрирования или окно запуска (Добавить → Создание новой информационной базы → На сервере 1С:Предприятия);
    • для файловой — Добавить → Создание новой информационной базы → На данном компьютере.
  3. Откройте пустую базу-приёмник в конфигураторе.
  4. Загрузите данные: Администрирование → Загрузить информационную базу, выберите .dt. Загрузка тоже монопольная и полностью перезаписывает содержимое приёмника.

Что важно учесть:

  • Версия платформы базы-приёмника должна быть не ниже версии, в которой делалась выгрузка. Загрузить .dt со свежей платформы в более старую нельзя.
  • Конфигурация переносится вместе с данными — отдельно обновлять её не нужно, .dt содержит всё.
  • После загрузки в серверную базу проверьте права доступа и регламентные задания: часть настроек (например, расписания) может зависеть от окружения.

Для очень больших баз выгрузка в .dt и обратная загрузка идут часами. В таких случаях переносят средствами СУБД (резервная копия MS SQL и восстановление в новую БД), а через 1С только регистрируют базу в кластере. Но это сценарий для администратора SQL, и структура БД при этом должна полностью соответствовать платформе.

После переноса старый ярлык всё ещё ведёт на исходную базу. Поменяйте в нём путь/сервер по инструкции выше — иначе половина пользователей продолжит работать в старом месте, и данные разойдутся.

Ошибки подключения и как их устранить

Большинство проблем после смены базы — это опечатка в пути или имени сервера. Ниже типичные симптомы и что проверить.

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

Отдельно про монопольный доступ. Он нужен не всегда, а только для операций, которые меняют структуру или перезаписывают базу целиком: загрузка .dt, тестирование и исправление, обновление структуры при обновлении конфигурации. Для обычной смены пути подключения никакой монополии не требуется — вы правите запись в списке, а не базу.

Частые ошибки и как их избежать

Три промаха, которые встречаются чаще всего:

  • 🔸 Путают «удалить из списка» и «удалить базу ». Кнопка Удалить в окне запуска убирает только запись из списка — сама папка с данными остаётся. А вот ручное удаление каталога с 1Cv8.1CD необратимо. Удаляйте из списка смело, файлы на диске — только с копией.
  • 🔸 Указывают путь к ярлыку или к exe вместо папки базы. В поле каталога нужен путь к папке с 1Cv8.1CD, а не к 1cv8.exe и не к ярлыку.
  • 🔸 Меняют путь у одного пользователя, забывая про остальных. Если базу перенесли, а список раздаётся через общий ibases.v8i, правьте общий файл. Иначе часть людей работает в новом месте, часть — в старом.

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

Можно ли поменять базу, не закрывая 1С?
Сменить путь в окне запуска — да, но изменения применятся при следующем старте базы. Работающие сеансы продолжат использовать прежнее подключение, пока их не перезапустят.
Что будет со списком пользователей и правами после смены пути?
Ничего не изменится. Список пользователей и настройки прав хранятся внутри самой базы, а не в записи окна запуска. Вы меняете только адрес, по которому 1С ищет базу.
Как перенести базу на новый компьютер?
Скопируйте папку с файлом 1Cv8.1CD (база закрыта) на новый компьютер, установите платформу той же версии или новее, затем Добавить → Добавление в список существующей информационной базы и укажите каталог.
Можно ли перейти с файлового варианта на SQL без потери данных?
Да. Выгрузите исходную базу в .dt, создайте пустую серверную базу и загрузите в неё .dt. Данные и конфигурация перенесутся полностью. Версия платформы приёмника — не ниже исходной.
Где лежит список баз, если его нужно поправить руками?
В файле %APPDATA%\1C\1CEStart\ibases.v8i. Для общего списка на несколько рабочих мест путь к сетевому файлу задаётся параметром CommonInfoBases в 1CEStart.cfg.