Администрирование · 11 мин
Как добавить существующую базу в 1С:Сервер
Как добавить существующую базу данных на сервер 1С через консоль кластера: подготовка, создание записи в консоли, настройка прав, проверка и типичные ошибки.
Добавление существующей базы на сервер 1С — типовая задача при переезде с файлового режима на клиент-серверный, при переносе между серверами или при восстановлении после сбоя. Задача состоит из двух частей: сама база данных должна существовать в СУБД (MS SQL Server, PostgreSQL, Oracle или IBM Db2), а в кластере серверов 1С должна быть создана информационная база, которая ссылается на эту БД.
Ключевой момент, который часто упускают: консоль кластера 1С не «подключает» готовую базу автоматически — она создаёт запись о базе, а саму структуру метаданных 1С хранит внутри БД. Если вы переносите базу с другого сервера, сначала нужно восстановить её в СУБД (из бэкапа средствами СУБД или через выгрузку .dt), и только потом регистрировать в кластере.
Ниже разобран полный порядок действий: от подготовки СУБД до проверки работоспособности, с разбором типичных ошибок и ограничений.
Что понадобится перед началом работы
Перед регистрацией базы убедитесь, что у вас есть всё необходимое. Во-первых, работающий сервер 1С:Предприятия с установленным агентом сервера и доступом к консоли кластера (либо оснастка «Администрирование серверов 1С» на вашем компьютере, либо утилита rac/ras для удалённого управления). Во-вторых, развёрнутая СУБД, версия которой совместима с вашей платформой 1С — несовместимые версии приводят к отказу в подключении.
В-третьих, сама база данных должна физически существовать в СУБД. Если база переезжает с другого сервера, её нужно перенести штатными средствами СУБД: для MS SQL — резервная копия и восстановление (.bak), для PostgreSQL — pg_dump/pg_restore. Альтернативный путь — выгрузка информационной базы в файл .dt из конфигуратора на старом сервере и загрузка на новом, но этот способ медленнее на больших базах.
Также потребуется учётная запись в СУБД с правами владельца базы (для MS SQL — роль db_owner на конкретную базу, либо используйте sa только для первоначальной настройки). Именно под этой учётной записью сервер 1С будет обращаться к данным.
Перенос базы данных в СУБД
Если база уже находится в нужной СУБД, этот раздел можно пропустить. Если нет — начните с переноса. Для MS SQL Server откройте SQL Server Management Studio, подключитесь к целевому экземпляру, щёлкните правой кнопкой по узлу «Базы данных» и выберите «Восстановить базу данных», указав файл резервной копии. Обратите внимание на пути к файлам данных и журнала: при восстановлении на другой сервер их часто нужно изменить на вкладке «Файлы».
Для PostgreSQL используйте pg_restore для дампов в формате custom или psql для текстовых дампов. Учтите, что 1С требует специфическую сборку PostgreSQL (с патчами от 1С или PostgresPro) — обычная сборка из репозитория не поддерживается официально.
Перенос через файл .dt
Если прямой доступ к СУБД затруднён или старая и новая площадки используют разные СУБД, используйте выгрузку в .dt. На старом сервере откройте конфигуратор с правами администратора, выполните «Администрирование → Выгрузить информационную базу». На новом сервере сначала создайте пустую базу в кластере, затем загрузите в неё .dt через «Администрирование → Загрузить информационную базу». Минус способа — время: базы объёмом в десятки гигабайт выгружаются и загружаются часами.
Способы переноса базы
Быстро для больших баз, сохраняет всё как есть. Требует доступа к СУБД и той же СУБД на целевом сервере.
Универсально, работает между разными СУБД и режимами. Медленно на больших базах, требует монопольного доступа.
Отсоединение/присоединение (detach/attach) в MS SQL. Быстро, но требует остановки работы и аккуратности с правами на файлы.
Регистрация базы в консоли кластера серверов 1С
Основное действие выполняется в консоли «Администрирование серверов 1С Предприятия». Откройте оснастку, разверните нужный сервер, затем кластер (обычно «Локальный кластер»), щёлкните правой кнопкой по ветке «Информационные базы» и выберите «Создать → Информационная база».
В появившемся диалоге заполните параметры: имя базы в кластере (отображается у пользователей в списке), тип СУБД, имя сервера СУБД, имя базы данных в СУБД, а также учётные данные пользователя СУБД. Критически важный пункт — флажок «Создать базу данных в случае её отсутствия». Если база в СУБД уже существует, этот флажок можно оставить или снять: при существующей БД платформа не будет её пересоздавать, но при снятом флажке и ошибке в имени базы вы получите понятную ошибку вместо создания пустой.
Дополнительно можно задать параметры блокировки регламентных заданий и выдачи лицензий. Если база добавляется как копия для тестирования, обязательно установите блокировку регламентных заданий — иначе копия начнёт выполнять те же фоновые операции, что и рабочая база: обмены, рассылки, проведение документов.
- 1Откройте консоль «Администрирование серверов 1С» и подключитесь к нужному серверу
- 2Разверните кластер, щёлкните правой кнопкой по «Информационные базы» → «Создать»
- 3Введите имя базы, выберите тип СУБД, укажите сервер СУБД и имя базы данных
- 4Укажите учётную запись СУБД с правами на базу
- 5Снимите флажок создания БД, если она уже существует (или оставьте — существующая не перезапишется)
- 6Для копии базы включите блокировку регламентных заданий
- 7Нажмите OK и проверьте, что база появилась в списке без ошибок
Добавление базы через утилиту rac
Когда графическая консоль недоступна (сервер без GUI, автоматизация скриптами), используйте консольную утилиту rac из каталога установки платформы в связке с сервисом ras. Команда создания информационной базы выглядит следующим образом:
rac infobase --cluster=<ID_кластера> create --name=MyBase --dbms=MSSQLServer --db-server=sqlsrv --db-name=MyBase --db-user=dbuser --db-pwd=пароль --create-databaseИдентификатор кластера можно получить командой rac cluster list. Для существующей базы параметр --create-database указывать не обязательно. Учтите, что пароль СУБД в командной строке виден в истории команд — в скриптах безопаснее запрашивать его интерактивно или подставлять из защищённого хранилища.
Добавление базы в список пользователя
Регистрация в кластере делает базу доступной, но пользователю её ещё нужно добавить в свой список информационных баз. В стартовом окне 1С нажмите «Добавить», выберите «Добавление в список существующей информационной базы», укажите наименование и тип расположения — «На сервере 1С:Предприятия». Далее введите имя сервера (или сервер:порт агента, если порт нестандартный) и имя базы в кластере — точно так, как оно задано при регистрации.
Для большого числа пользователей вручную это не делают: список баз распространяется через общий файл ibases.v8i, размещённый на сетевом ресурсе, ссылка на который прописывается в файле 1cestart.cfg, либо через групповые политики, либо через веб-сервер с публикацией базы.
Проверка результата и типичные ошибки
После регистрации проверьте работоспособность: запустите клиент 1С, добавьте базу и войдите в неё. Если база переносилась, дополнительно откройте конфигуратор и убедитесь, что конфигурация на месте, а в пользовательском режиме — что открываются справочники и документы. Проверьте в консоли кластера, что на базе появились сеансы.
Как проверить результат
База отображается в ветке «Информационные базы» без ошибок
Базы нет в списке или при открытии свойств — ошибка соединения с СУБД
Клиент запускается, список пользователей базы доступен
Ошибка «Информационная база не обнаружена» или «Ошибка соединения с сервером 1С»
В конфигураторе открывается ожидаемая конфигурация
База пустая — значит, была создана новая БД вместо подключения существующей
При входе пользователя сеанс виден в консоли кластера
Сеанс не появляется — клиент подключается не к тому серверу или кластеру
Самая неприятная ошибка — подключение к пустой базе: если при регистрации указать несуществующее имя БД и оставить флажок создания, платформа молча создаст пустую базу, и вы увидите пустую конфигурацию вместо своих данных. В этом случае удалите ошибочную запись, не удаляя саму БД, и повторите регистрацию с правильным именем.
Ограничения и когда лучше привлечь специалиста
Самостоятельное добавление базы безопасно, если у вас есть резервная копия, база не используется другим сервером и вы понимаете различие между записью в кластере и БД в СУБД. Но есть ситуации, где ошибка дорого обойдётся: перенос продуктивной базы под нагрузкой, миграция между разными СУБД, восстановление после сбоя без свежего бэкапа, настройка отказоустойчивого кластера. В этих случаях разумнее привлечь администратора 1С или специалиста по СУБД.
Также учтите лицензионный момент: для работы клиент-серверного варианта требуется лицензия на сервер 1С, а клиентские лицензии могут выдаваться сервером, если включён соответствующий параметр базы. Без лицензии на сервер база зарегистрируется, но пользователи не смогут войти.
Что важно запомнить
Добавление существующей базы сводится к трём шагам: восстановить БД в СУБД, зарегистрировать её в консоли кластера с правильными параметрами подключения и добавить в список баз пользователей. Перед работой сделайте резервную копию, убедитесь, что база не используется другим сервером, а на тестовых копиях блокируйте регламентные задания.
Частые вопросы
Можно ли добавить базу в кластер, не создавая её в СУБД заново?
Да, именно так и подключают существующие базы. Главное — точно указать имя базы данных в СУБД и учётную запись с правами на неё. Флажок «Создать базу данных в случае её отсутствия» при этом можно снять, чтобы ошибка в имени сразу дала сообщение, а не создала пустую базу.
Чем отличается имя базы в кластере от имени базы данных?
Имя в кластере — это метка, которую видят пользователи 1С и администратор в консоли; оно хранится в реестре кластера. Имя базы данных — физическое имя БД в СУБД. Они связываются при регистрации и могут не совпадать, например база «Бухгалтерия» в кластере может ссылаться на БД acc_prod в MS SQL.
После добавления база открывается пустой, где мои данные?
Почти наверняка при регистрации было указано несуществующее имя БД и стоял флажок создания — платформа создала новую пустую базу. Удалите запись в кластере (без удаления БД), проверьте точное имя вашей базы в Management Studio или pgAdmin и зарегистрируйте заново с правильным именем.
Можно ли одну базу зарегистрировать на двух серверах 1С?
Технически запись создать можно, но работать с одной БД из двух кластеров одновременно нельзя: это приводит к конфликтам блокировок и повреждению данных. Для резервирования используются штатные механизмы отказоустойчивости кластера 1С, а не параллельная регистрация.
Как добавить базу, если нет доступа к консоли кластера?
Попросите администратора сервера выполнить регистрацию или выдать вам права администратора кластера. Альтернатива — утилита rac через службу ras, если она запущена и у вас есть сетевой доступ к ней. Без прав администратора кластера зарегистрировать базу невозможно.
Нужно ли останавливать работу пользователей при добавлении базы?
Сама регистрация в кластере происходит на лету и не требует остановки сервера. Но если вы переносите базу, с которой сейчас работают, пользователей нужно отключить на старом сервере до снятия резервной копии — иначе часть данных потеряется между бэкапом и переключением.