Новое имя для информационной базы: от строки в списке до базы в СУБД

· 10 мин

Содержание

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

Беда обычно в том, что старое имя прописано в десятке мест: ярлыки у пользователей, скрипты резервного копирования, веб-публикация, настройки обменов. Поменяли его в одном месте — утром половина офиса не может войти. Порядок действий общий для платформы 8.3 и не зависит от конфигурации: одинаково для Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и других.

Что именно переименовываем и как подготовиться

У одной базы может быть до трёх разных «имён». Сначала решите, какое из них вам мешает.

Что меняемГде живётСложностьНужно выгонять пользователей
Имя в списке базфайл ibases.v8i на каждом компьютере1 минутанет
Каталог файловой базыпапка с файлом 1Cv8.1CD10–15 минутда
Имя ИБ в кластере сервера 1Среестр кластера (Srvr=...;Ref=...)20–30 минутда
Имя базы в СУБДMS SQL Server, PostgreSQL15–30 минутда

Имя в кластере и имя базы в СУБД — разные вещи. ИБ в кластере может называться buh, а база в SQL — buh_2019_copy. Часто достаточно поменять что-то одно.

Если хотите, чтобы новое название было видно в заголовке окна программы, переименовывать базу вообще не нужно. В типовых конфигурациях на БСП это поле «Заголовок программы» в разделе Администрирование → Общие настройки.

Перед переименованием каталога, ИБ или базы в СУБД:

  1. 📦 Сделайте резервную копию: выгрузку .dt через Конфигуратор (Администрирование → Выгрузить информационную базу) или бэкап средствами СУБД.
  2. 📣 Предупредите пользователей и выберите время, когда в базе никто не работает : вечер, выходной.
  3. 🔍 Запишите, где используется старое имя: ярлыки, скрипты, планировщик задач, веб-публикация, внешние обработки с подключением через COM.
  4. 🔑 Проверьте, что у вас есть пароль администратора базы 1С, администратора кластера (если задан) и учётная запись СУБД с правом переименования.

Все способы, кроме смены имени в списке, требуют, чтобы в базе не было сеансов. Принудительное завершение сеансов обрывает работу пользователей: несохранённые документы пропадут.

Как переименовать файловую базу 1С

Файловая база — это каталог, внутри которого лежит файл 1Cv8.1CD. Переименовывают именно каталог. Сам файл 1Cv8.1CD переименовывать нельзя: платформа ищет файл с этим именем и без него базу не откроет.

Шаг 1. Убедитесь, что база закрыта

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

Если база лежит в общей папке на сервере, открытые файлы видно в оснастке «Управление компьютером» → «Общие папки» → «Открытые файлы». Закрывать их оттуда можно, но человек, который в этот момент работает в 1С, потеряет несохранённое.

Шаг 2. Переименуйте каталог

Например, было D:\Bases\Buh, станет D:\Bases\Buh_OOO_Romashka. Обычное переименование в проводнике. Права доступа NTFS к папке сохраняются.

Кириллица и пробелы в пути допустимы, но для скриптов резервного копирования удобнее латиница без пробелов: меньше возни с кавычками.

Шаг 3. Поправьте путь в списке баз

В окне запуска 1С выделите базу и нажмите Изменить…. На первом шаге поменяйте имя, если нужно, на втором — путь к каталогу. Нажмите Далее и Готово.

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

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

Переименование базы на сервере 1С: имя ИБ в кластере

У клиент-серверной базы имя, которое вводят при подключении (Ref в строке Srvr="srv1c";Ref="buh";), хранится в реестре кластера. В свойствах информационной базы в консоли администрирования серверов поле «Имя» недоступно для изменения. Рабочий способ — удалить регистрацию ИБ в кластере, оставив базу в СУБД, и зарегистрировать её заново под новым именем.

Пошагово в консоли администрирования

  1. Откройте консоль администрирования серверов 1С:Предприятия, разверните кластер → Информационные базы.
  2. Откройте свойства нужной ИБ и запишите все параметры: сервер баз данных, тип СУБД, имя базы данных, пользователя СУБД, смещение дат, флажки блокировок и выдачи лицензий. Без этих данных новую регистрацию не сделать.
  3. В свойствах включите блокировку начала сеансов и блокировку регламентных заданий. Завершите оставшиеся сеансы в ветке Сеансы.
  4. Удалите ИБ из кластера. В окне удаления выберите «Оставить базу данных без изменений». Варианты «Удалить базу данных» и «Очистить базу данных » уничтожат данные.
  5. Создайте новую ИБ: правой кнопкой по ветке Информационные базы → Создать → Информационная база.
  6. Укажите новое имя, а в поле «База данных» — имя существующей базы в СУБД. Тип СУБД, сервер, пользователь и смещение дат — как в записанных параметрах.
  7. Снимите флажок «Создать базу данных в случае ее отсутствия». Если в имени базы данных опечатка, сервер не создаст пустую базу рядом с рабочей, а выдаст ошибку.
  8. Поставьте флажок «Установить блокировку регламентных заданий», пока не проверите базу. Нажмите ОК.

Новая регистрация получает новый идентификатор в кластере. Настройки уровня кластера, которые были у старой ИБ (профиль безопасности, параметры внешнего управления сеансами, «Разрешить выдачу лицензий сервером»), выставьте заново.

Тот же результат можно получить утилитой rac — командами работы с infobase. Точный набор параметров для вашей версии платформы смотрите в rac help infobase.

Новое имя базы данных в MS SQL Server

Имя базы в SQL Server меняют, когда оно путает администраторов или нужно освободить старое имя под другую базу. Порядок такой: заблокировать сеансы в 1С, переименовать базу в SQL, поменять имя базы в свойствах ИБ в консоли кластера.

Шаг 1. Отключите соединения

Даже когда пользователи вышли, рабочие процессы 1С (rphost) могут держать соединения с базой. SQL Server не переименует базу, пока к ней есть подключения. Поэтому сначала включите блокировку сеансов в консоли кластера, затем переведите базу в однопользовательский режим.

Шаг 2. Переименуйте базу

В SQL Server Management Studio: правой кнопкой по базе → «Переименовать». Или запросом:

ALTER DATABASE [buh_old] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
ALTER DATABASE [buh_old] MODIFY NAME = [buh_romashka];
ALTER DATABASE [buh_romashka] SET MULTI_USER;

WITH ROLLBACK IMMEDIATE откатывает незавершённые транзакции и разрывает все соединения. Запускайте только после блокировки сеансов в 1С.

Шаг 3. Поправьте ИБ в консоли кластера

Откройте свойства информационной базы, в поле «База данных» укажите новое имя (buh_romashka), введите логин и пароль администратора ИБ, если консоль их запросит. Имя ИБ в кластере при этом не меняется, пользователи подключаются по-старому.

Файлы базы остаются со старыми именами

MODIFY NAME меняет только имя базы. Физические файлы buh_old.mdf и buh_old_log.ldf и логические имена файлов остаются прежними. Для 1С это неважно. Если порядок на диске нужен, логические имена меняют так:

ALTER DATABASE [buh_romashka] MODIFY FILE (NAME = N'buh_old', NEWNAME = N'buh_romashka');
ALTER DATABASE [buh_romashka] MODIFY FILE (NAME = N'buh_old_log', NEWNAME = N'buh_romashka_log');

Физические файлы переименовывают отдельно: перевести базу в OFFLINE, переименовать файлы на диске, указать новые пути через MODIFY FILE (NAME = ..., FILENAME = '...'), вернуть базу в ONLINE. Это делают в то же окно обслуживания и только при свежем бэкапе.

Переименование базы в PostgreSQL и других СУБД

В PostgreSQL база переименовывается одной командой, но с двумя условиями: к ней не должно быть ни одного подключения, а выполнять команду нужно, будучи подключённым к другой базе (например, postgres). Право есть у владельца базы с атрибутом CREATEDB и у суперпользователя.

Порядок:

  1. В консоли кластера 1С включите блокировку начала сеансов для ИБ.
  2. Подключитесь к базе postgres через psql или pgAdmin.
  3. Завершите оставшиеся соединения и переименуйте базу:
SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = 'buh_old' AND pid <> pg_backend_pid();

ALTER DATABASE buh_old RENAME TO buh_romashka;
  1. В свойствах ИБ в консоли кластера 1С укажите новое имя базы данных.

PostgreSQL приводит имена без кавычек к нижнему регистру. Если база создана с заглавными буквами (Buh_Old), имя в команде берите в двойные кавычки: ALTER DATABASE "Buh_Old" RENAME TO buh_romashka;. Новое имя проще сразу задать строчными латинскими буквами.

Для IBM Db2 и Oracle, которые 1С тоже поддерживает, логика та же: переименование средствами СУБД, затем новое имя в свойствах ИБ. Альтернатива — создать базу с нужным именем и загрузить в неё выгрузку .dt.

Альтернатива, когда переименование не проходит

Если прав на переименование нет или СУБД его не позволяет, сделайте копию под новым именем:

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

После проверки копии старую базу удаляйте не сразу: подержите её неделю-две недоступной для пользователей.

Как обновить список баз, ярлыки и всё, что ссылается на старое имя

Это раздел, о котором забывают. После смены каталога или имени ИБ пройдитесь по всем местам, где записано старое подключение.

Список баз у пользователей

Список хранится в файле %APPDATA%\1C\1CEStart\ibases.v8i. Это текстовый файл, каждая база в нём — секция:

[Бухгалтерия Ромашка]
Connect=Srvr="srv1c";Ref="buh_romashka";
ID=3f1c2a8e-5b7d-4c1e-9a0f-2d6e8b4c7a11
Folder=/

Имя в квадратных скобках — то, что видно в окне запуска. Connect — путь к файловой базе (File="D:\Bases\Buh_OOO_Romashka";) или сервер и имя ИБ. Файл можно поправить блокнотом при закрытой 1С и разослать пользователям.

Удобнее завести общий список: положить .v8i в сетевую папку и указать его в настройках окна запуска (кнопка Настройка… → список адресов общих информационных баз). Тогда при следующем переименовании правится один файл.

Что ещё проверить

  • 🖥️ Ярлыки и bat-файлы с параметрами запуска /F"путь" или /S"сервер\имя".
  • 💾 Скрипты резервного копирования и задачи в планировщике Windows.
  • 🌐 Веб-публикацию: в файле default.vrd атрибут ib содержит строку подключения со старым именем. Переопубликуйте базу через Конфигуратор или поправьте файл.
  • 🔄 Обмены и интеграции, где база-приёмник указана строкой подключения: COM-соединение, внешние источники, сервисы на сторонней стороне.
  • 📊 Внешние обработки и отчёты, которые подключаются к другой базе по имени.
  • 🛡️ Мониторинг и системы обслуживания SQL (планы обслуживания, задания агента), если меняли имя базы в СУБД.

Проверка базы 1С после переименования

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

Если вы переименовали рабочую базу, в этом окне подтвердите, что база перемещена, а не скопирована. Если это копия, выберите вариант про копию: внешние ресурсы останутся заблокированы.

Проверка после переименования
Выполнено: 0 / 8

Если база не открывается, сверьте сообщение:

  • Ошибка о том, что файл базы не найден, — в списке баз старый путь к каталогу, или файл 1Cv8.1CD случайно переименовали.
  • Сообщение, что информационная база не обнаружена, — в строке подключения старое имя ИБ, а регистрации с таким именем в кластере уже нет.
  • Ошибка СУБД о невозможности открыть базу — в свойствах ИБ в консоли кластера осталось старое имя базы данных или неверный пользователь СУБД.

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

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

Слетит ли лицензия после переименования базы?
Нет. Программная лицензия привязана к компьютеру или серверу, а не к имени базы или каталога. Переименование её не затрагивает.
Сохранятся ли пользовательские настройки и пароли?
Да. Пользователи, пароли, настройки форм и отчётов хранятся внутри базы. Переименование каталога или ИБ их не меняет.
Можно ли переименовать базу, пока в ней работают?
Только имя в списке баз. Каталог, имя ИБ в кластере и базу в СУБД переименовывают без активных сеансов.
Как переименовать базу в 1С:Фреш или облачном сервисе?
Имя базы в облаке обычно меняют в личном кабинете сервиса. Доступа к каталогу и СУБД там нет, поэтому переименование каталога или базы в СУБД там не применяется.
Нужно ли обновлять конфигурацию базы данных после смены имени?
Нет. Структура базы не меняется, обновление конфигурации и монопольный режим для этого не нужны.