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

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

Как переименовать базу 1С на сервере

Переименование базы 1С на сервере: изменение имени в консоли кластера, переименование базы в MS SQL или PostgreSQL, обновление строки подключения и проверка результата.

Переименование базы 1С в клиент-серверном варианте затрагивает сразу три уровня: регистрацию информационной базы в кластере серверов 1С, саму базу данных на СУБД (MS SQL Server или PostgreSQL) и настройки подключения у пользователей. Если поменять имя только в одном месте, база перестанет открываться, а пользователи увидят ошибку соединения.

Правильная последовательность зависит от цели. Иногда достаточно изменить отображаемое имя базы в консоли кластера, не трогая СУБД. В других случаях требуется полное переименование: и в кластере, и на SQL-сервере, с правкой строки подключения. Ниже разобраны оба сценария, а также частые ошибки и способы проверки результата.

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

Что именно нужно переименовать: два разных имени

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

Эти имена могут совпадать, но не обязаны. Поэтому первый шаг — определить, что именно требуется:

Маршрут решения

Как выбрать действие

Нужно только изменить название, которое видят пользователи в списке базДостаточно переименовать ИБ в консоли кластера, СУБД не трогайте
Требуется привести к единому стандарту имя базы на SQL-сервереПереименуйте базу в СУБД и обновите поле «База данных» в свойствах ИБ
База переносится на новый сервер с другим именемСделайте выгрузку/резервную копию, создайте ИБ с новым именем и восстановите данные

Если сомневаетесь, какое имя где используется, откройте свойства информационной базы в консоли кластера: там одновременно видны «Имя» (в кластере), «Сервер баз данных» и «База данных» (имя на СУБД).

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

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

Подготовка к переименованию
  1. 1
    Предупредите пользователей и попросите завершить работу
  2. 2
    В консоли кластера откройте ветку «Сеансы» и удалите оставшиеся сеансы ИБ
  3. 3
    Установите блокировку начала сеансов в свойствах ИБ, чтобы никто не подключился во время работ
  4. 4
    Сделайте полную резервную копию базы средствами СУБД (BACKUP DATABASE или pg_dump)
  5. 5
    Проверьте, что копия создана и файл доступен для чтения

Блокировку сеансов удобно ставить заранее, за несколько минут до работ: новые подключения будут отклонены, а вы спокойно завершите оставшиеся сеансы. Не забудьте после переименования снять блокировку или обновить её сообщение — пользователи увидят именно его.

Переименование информационной базы в консоли кластера

Откройте консоль управления серверами 1С (оснастка «Администрирование серверов 1С Предприятия»), разверните нужный кластер и ветку «Информационные базы». Найдите базу, откройте её свойства двойным щелчком или через контекстное меню.

В поле «Имя» укажите новое название и нажмите «ОК». Имя должно быть уникальным в пределах кластера; избегайте пробелов и спецсимволов — они усложняют строки подключения и работу скриптов. Обычно используют латиницу, цифры и подчёркивания.

После сохранения пользователи, подключающиеся через список баз с указанием сервера и имени ИБ, должны будут использовать новое имя. Если подключение настроено через файл .v8i или веб-публикацию — обновите и их.

Переименование базы данных на SQL-сервере

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

MS SQL Server

В SQL Server Management Studio подключитесь к серверу, найдите базу, переведите её в однопользовательский режим или убедитесь, что соединений нет, и выполните переименование через контекстное меню «Переименовать» либо командой T-SQL:

sql
ALTER DATABASE OldName MODIFY NAME = NewName;

Для старых версий SQL Server используется хранимая процедура sp_renamedb 'OldName', 'NewName', но предпочтительнее синтаксис ALTER DATABASE ... MODIFY NAME.

PostgreSQL

В PostgreSQL переименование выполняется командой:

sql
ALTER DATABASE old_name RENAME TO new_name;

Команда завершится ошибкой, если к базе есть активные подключения, — сначала завершите их, например через pg_terminate_backend по представлению pg_stat_activity.

Обновление свойств ИБ в кластере

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

Обновление подключений у пользователей

После переименования старая строка подключения перестанет работать. Способ обновления зависит от того, как пользователи подключаются:

  • Через список баз в стартере 1С — удалите старую запись и добавьте базу заново с новым именем, либо отредактируйте существующую запись.
  • Через общий список (.v8i) — исправьте параметр Connect в файле списка, он обновится у всех, кто его использует.
  • Через веб-сервер — если публикация привязана к имени ИБ в кластере, обновите файл default.vrd и перезапустите веб-сервер.
ini
Connect=Srvr="server1c";Ref="NewBaseName";

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

Проверка результата

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

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

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

Запуск конфигуратора с новой строкой подключения
Норма

База открывается, конфигурация загружается

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

Ошибка «информационная база не обнаружена» или ошибка соединения с СУБД

Запуск тонкого клиента под обычным пользователем
Норма

Вход выполняется, открываются документы и отчёты

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

Ошибка подключения или пустое окно аутентификации

Ветка «Сеансы» в консоли кластера
Норма

Сеансы создаются и привязаны к переименованной ИБ

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

Сеансов нет при работающих пользователях — они подключились к другой базе

Регламентные задания
Норма

Задания выполняются по расписанию

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

Задания не стартуют или падают с ошибкой

Частые ошибки при переименовании

Типичные ошибки
01
Переименовали базу в СУБД, но забыли обновить поле «База данных» в свойствах ИБ — кластер не находит данные
02
Переименовали ИБ в кластере, но не сообщили пользователям и не обновили списки баз — массовые обращения с ошибкой подключения
03
Не завершили сеансы — СУБД отклоняет переименование из-за активных подключений
04
Использовали в новом имени пробелы или кириллицу — ломаются скрипты и строки подключения
05
Забыли про веб-публикации и внешние интеграции — обмены перестают работать через несколько часов после переименования

Отдельная ошибка — попытка «переименовать» базу через создание новой ИБ и выгрузку/загрузку через .dt без необходимости. Для простого переименования это избыточно и рискованно: выгрузка большой базы занимает часы, а при загрузке возможны нюансы с расширениями и настройками.

Удобно проводить переименование в нерабочее время и сразу после него запускать полное тестирование и исправление или хотя бы проверку ключевых операций: проведение документа, формирование отчёта, обмен. Это занимает 10–15 минут и исключает утренние сюрпризы.
ПЗ
Практическое замечание

FAQ

Можно ли переименовать базу 1С, не останавливая работу пользователей?

Нет. Переименование базы на СУБД требует отсутствия активных соединений, а смена имени ИБ в кластере делает недействительными текущие строки подключения. Планируйте операцию на нерабочее время с предварительным уведомлением пользователей.

Что будет, если имена в кластере и на SQL-сервере не совпадают?

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

Нужно ли переименовывать файлы базы на диске SQL-сервера?

Нет, физические файлы данных и журнала можно не переименовывать — работе это не мешает. Если хочется привести имена файлов в соответствие, это делается отдельной операцией с отсоединением базы или переводом в OFFLINE и ALTER DATABASE ... MODIFY FILE.

А если база файловая, а не серверная?

Для файловой базы достаточно переименовать папку с файлом 1Cv8.1CD при закрытых сеансах и обновить путь в списке баз пользователей. Консоль кластера и СУБД в этом сценарии не участвуют.

Как переименовать базу, если нет доступа к консоли кластера?

Без административного доступа к кластеру переименовать ИБ нельзя. Обратитесь к администратору сервера 1С. Альтернатива — создать новую ИБ с нужным именем и загрузить туда выгрузку .dt, но это требует тех же прав и значительно дольше.

Потеряются ли настройки пользователей после переименования?

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

Итог

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

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