Перемещение информационной базы с платформы 1С:Предприятие, работающей под управлением сервера Microsoft SQL Server, является критически важной операцией для любого системного администратора или специалиста по сопровождению. Необходимость в этом может возникнуть при миграции на новое оборудование, консолидации серверов или переходе на более производительную конфигурацию. В отличие от файловых баз, где достаточно скопировать один файл, работа с клиент-серверным вариантом требует строгого соблюдения последовательности действий для сохранения целостности данных.

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

В данной статье мы подробно разберем алгоритм безопасного переноса базы данных, рассмотрим нюансы работы с утилитами SQL Server Management Studio и администрирования кластера 1С. Вы узнаете, как корректно отключить базу, создать бэкап, восстановить его на новом сервере и зарегистрировать в списке доступных информационных баз.

Подготовка к миграции и анализ текущей конфигурации

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

Также следует проверить список активных пользователей. Перенос базы необходимо выполнять в то время, когда никто не работает в системе, чтобы избежать блокировок транзакций и потери данных, находящихся в оперативной памяти. Убедитесь, что у вас есть права администратора как на уровне операционной системы, так и в среде SQL Server.

⚠️ Внимание: Перед началом работ обязательно создайте полную резервную копию базы данных на текущем сервере. Даже если вы планируете переносить данные, наличие страховочного бэкапа на старом месте — это единственная гарантия возможности отката в случае непредвиденных сбоев.

Проверьте сетевые настройки и имя нового сервера. Если планируется смена имени сервера или его сетевого адреса, это потребует дополнительного шага по перерегистрации базы в кластере серверов 1С. Запишите текущие параметры подключения, включая имя экземпляра SQL и путь к файлам данных.

☑️ Подготовка к переносу базы 1С SQL

Выполнено: 0 / 4

Создание резервной копии базы данных в SQL Server

Для переноса данных между серверами наиболее надежным методом является использование механизма резервного копирования и восстановления, встроенного в SQL Server. Этот подход гарантирует консистентность данных и позволяет переносить базу даже между серверами с разной файловой структурой. Вам потребуется утилита SQL Server Management Studio (SSMS) или консольные команды.

Запустите SSMS и подключитесь к экземпляру базы данных, где расположена ваша информационная база 1С. В обозревателе объектов найдите нужную базу, кликните по ней правой кнопкой мыши и выберите пункты Задачи → Создать резервную копию. В открывшемся окне убедитесь, что выбран тип копирования Полная (Full).

В разделе "Набор носителей" укажите путь для сохранения файла бэкапа. Рекомендуется сохранять файл на внешний диск или в сетевую папку, доступную с обоих серверов, чтобы упростить процесс передачи. Файл обычно имеет расширение .bak. После настройки параметров нажмите кнопку ОК для запуска процесса.

💡

Для ускорения процесса создания бэкапа больших баз данных можно использовать сжатие резервной копии. В окне настроек бэкапа перейдите на вкладку "Параметры" и установите флажок "Сжимать резервную копию". Это уменьшит размер файла, но увеличит нагрузку на процессор во время создания копии.

Время выполнения операции напрямую зависит от размера базы данных и скорости дисковой подсистемы. Для баз объемом в несколько сотен гигабайт этот процесс может занять от нескольких минут до нескольких часов. Следите за прогрессом в окне сообщений SSMS.

Параметр Описание Рекомендация
Тип резервной копии Определяет объем сохраняемых данных Всегда выбирайте Полная (Full) для миграции
Проверка целостности Проверка страниц базы перед копированием Рекомендуется включить для гарантии качества бэкапа
Сжатие Уменьшение размера файла бэкапа Использовать при нехватке места на диске
Перезапись носителей Действие с существующим файлом Выберите "Перезаписать все существующие наборы..."

Восстановление базы на целевом сервере

После того как файл резервной копии успешно создан и перемещен на новый сервер (или в общее хранилище), можно приступать к этапу восстановления. Подключитесь к экземпляру SQL Server на новом компьютере через SSMS. Кликните правой кнопкой мыши по узлу "Базы данных" в обозревателе объектов.

В контекстном меню выберите пункт Восстановить базу данных. В появившемся окне в разделе "Источник" укажите опцию С устройства и нажмите кнопку с троеточием для выбора файла. Добавьте ваш файл .bak, который был создан на предыдущем этапе.

Система автоматически подгрузит информацию о содержимом бэкапа. Убедитесь, что галочка стоит напротив вашей базы данных 1С. Перейдите на вкладку Файлы. Здесь критически важно проверить пути к файлам данных (.mdf) и журналов транзакций (.ldf). Пути должны соответствовать структуре дисков нового сервера.

⚠️ Внимание: Если на новом сервере пути к папкам отличаются от старых, восстановление завершится ошибкой. Обязательно измените пути в колонке "Восстановить в" на актуальные для новой системы, например D:\SQLData\.

Также рекомендуется перейти на вкладку Параметры и установить режим восстановления в значение RESTRICTED_USER или просто убедиться, что база будет доступна только администраторам до завершения настройки кластера 1С. Это предотвратит случайное подключение пользователей к еще не настроенной базе.

Что делать, если восстановление зависло?

Если процесс восстановления базы данных завис на долгое время, проверьте журнал ошибок SQL Server. Часто причина кроется в нехватке места на диске для разворачивания файла логов транзакций или в блокировках со стороны антивируса. Попробуйте временно отключить сканирование папок SQL.

Настройка кластера серверов 1С:Предприятие

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

В дереве консоли раскройте ветку вашего кластера, затем раздел Информационные базы. Кликните правой кнопкой мыши и выберите Добавить информационную базу. В открывшемся мастере выберите тип размещения На сервере 1С:Предприятия.

Заполните поля мастера настройки: укажите имя базы, которое будут видеть пользователи, и описание. На следующем этапе в поле "Сервер баз данных" введите имя нового сервера или localhost, если SQL установлен на той же машине. В поле "Имя базы данных" укажите точное имя базы, которое вы видели в SQL Server после восстановления.

  • 🔹 Убедитесь, что тип СУБД указан верно — MS SQL Server.
  • 🔹 Проверьте параметры аутентификации: если используется пользователь SQL, введите логин и пароль администратора БД.
  • 🔹 При необходимости настройте параметры безопасности и расписание регламентных заданий.

Если вы переносите базу на сервер с другим именем, а старое имя "зашито" в некоторых конфигурациях или внешних обработках, может потребоваться дополнительное обновление конфигурации базы данных. Это делается через режим 1С:Предприятие с ключом запуска /UpdateDBConfig.

💡

Регистрация базы в кластере 1С не копирует данные, а лишь создает ссылку на уже восстановленную базу в SQL Server. Без предварительного восстановления в SSMS добавление базы в кластере будет невозможным.

Настройка прав доступа и пользователей SQL

При переносе базы на новый сервер часто возникает проблема с пользователями базы данных. Внутренние пользователи SQL (логин и пользователь базы) могут рассинхронизироваться, так как их идентификаторы безопасности (SID) на новом сервере отличаются от старых. Это приводит к ошибке входа пользователя в базу 1С.

Для решения этой проблемы необходимо сопоставить пользователя базы данных с логином входа на новом сервере. Это можно сделать через графический интерфейс SSMS или с помощью T-SQL скрипта. В свойствах базы данных перейдите в раздел Безопасность → Пользователи.

Найдите пользователя, соответствующего вашей базе 1С (часто он имеет то же имя, что и база, или имя usr1cv8). Откройте его свойства и в поле "Имя входа" выберите соответствующий логин из списка сервера. Если нужного логина нет, его необходимо создать заранее.

USE [ИмяВашейБазы1С];

CREATE USER [ИмяПользователя] FOR LOGIN [ИмяЛогина];

ALTER ROLE [db_owner] ADD MEMBER [ИмяПользователя];

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

📊 Какой метод аутентификации SQL вы используете чаще?
Встроенная безопасность Windows
Смешанный режим (SQL Login)
LDAP интеграция
Не знаю / Другое

Проверка работоспособности и запуск пользователей

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

Обязательно выполните тестовое проведение документа, чтобы убедиться в корректности работы механизмов транзакций и записи данных на диск. Проверьте работу фоновых заданий и регламентных операций, если они настроены в вашей конфигурации.

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

⚠️ Внимание: После переноса базы рекомендуется выполнить команду "Администрирование → Тестирование и исправление" в режиме конфигуратора. Это проверит физическую и логическую целостность таблиц после процедуры восстановления.

Часто задаваемые вопросы (FAQ)

Можно ли просто скопировать файлы .mdf и .ldf на новый сервер?

Нет, простое копирование файлов данных не рекомендуется. База данных должна быть корректно отключена (detached) на старом сервере перед копированием, а на новом — присоединена (attached). Использование бэкапа (.bak) надежнее, так как исключает риск повреждения файлов при копировании и позволяет восстановить базу даже при несовпадении версий файлов.

Что делать, если при восстановлении возникает ошибка "База данных уже существует"?

Эта ошибка возникает, если вы пытаетесь восстановить базу с именем, которое уже занято в экземпляре SQL Server. Вам нужно либо выбрать другое имя для восстанавливаемой базы, либо предварительно удалить существующую базу с таким именем (предварительно сделав её бэкап, если она нужна).

Нужно ли переустанавливать платформу 1С на новом сервере?

Да, на сервере, где будет развернут кластер и храниться база, должна быть установлена серверная часть платформы 1С:Предприятие (сервер 1С). Версия платформы должна быть совместима с версией вашей конфигурации базы данных.

Как перенести базу, если меняется версия SQL Server (например, с 2014 на 2019)?

Механизм резервного копирования и восстановления в SQL Server поддерживает прямое восстановление баз со старых версий на новые (в пределах разумного, обычно через 2-3 версии). Обратный путь (с нового на старый) невозможен без использования скриптов генерации данных. При обновлении версии SQL убедитесь, что уровень совместимости базы данных актуален.