Как установить MS SQL Server, восстановить базу 1С из бэкапа и подключить ее к кластеру серверов

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Выбор редакции MS SQL Server и установка среды управления

Для целей разработки, тестирования и обучения не требуется приобретать коммерческие лицензии уровня Standard или Enterprise. Проанализируем доступные варианты:

  1. Редакция Developer Edition: Содержит полный функционал редакции Enterprise, не имеет ограничений по объему используемой оперативной памяти или размеру базы данных (в отличие от версии Express) и полностью бесплатна для целей разработки и тестирования. Ее можно устанавливать как на серверные, так и на клиентские версии Windows (например, Windows 8, 10, 11).
  2. Утилита администрирования SQL Server Management Studio (SSMS): В современных версиях MS SQL Server среда управления не входит в основной пакет установки СУБД. Ее необходимо скачивать и устанавливать отдельным дистрибутивом.

После установки экземпляра СУБД и среды SSMS перейдем к процедуре развертывания резервной копии.

Восстановление базы данных из файла бэкапа (.bak)

Рассмотрим порядок действий для восстановления базы данных в среде SQL Server Management Studio:

  1. Запустим SQL Server Management Studio и подключимся к нашему экземпляру СУБД с учетной записью с правами администратора (sysadmin или встроенной sa).
  2. В дереве Object Explorer (Обозреватель объектов) нажмем правой кнопкой мыши на ветку Databases (Базы данных) и выберем пункт Restore Database... (Восстановить базу данных).
  3. В появившемся окне в блоке Source (Источник) выберем переключатель Device (Устройство) и укажем путь к нашему файлу резервной копии с расширением .bak.
  4. В поле Database (База данных) зададим имя целевой базы данных, в которую будут развернуты данные.
  5. На вкладке Files (Файлы) проверим пути размещения файлов данных (.mdf) и журнала транзакций (.ldf).
  6. Нажмем OK и дождемся завершения процесса восстановления.

Подключение восстановленной базы данных в кластере серверов 1С:Предприятия

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

  1. Откроем консоль Администрирование серверов 1С:Предприятия.
  2. Перейдем в ветку нашего рабочего кластера, найдем раздел Информационные базы, нажмем правую кнопку мыши и выберем Создать → Информационная база.
  3. Заполним параметры подключения:
    • Имя: имя информационной базы в кластере 1С.
    • Тип СУБД: MS SQL Server.
    • Сервер баз данных: сетевое имя или IP-адрес сервера СУБД. Если используется именованный экземпляр, укажем его в формате ИмяСервера\ИмяЭкземпляра или IP_Адрес\ИмяЭкземпляра (например, TESTDBSQL\MSSQLSERVER1).
    • Имя базы данных: точное имя базы данных, которое мы указали при восстановлении в MS SQL Server.
    • Пользователь сервера БД: логин пользователя СУБД (например, sa или специальный служебный пользователь).
    • Пароль пользователя БД: пароль пользователя СУБД.
    • Создать базу данных в случае ее отсутствия: флаг необходимо снять, так как база данных уже существует и восстановлена из бэкапа.
  4. Нажмем ОК для применения настроек.

Устранение сетевых ошибок и ошибки «Сервер не поддерживает запрошенный протокол [xFFFFFFFF]»

Если сервер 1С:Предприятия и MS SQL Server находятся на разных физических или виртуальных машинах, при создании базы может возникнуть ошибка: microsoft sql native client 11.0: Сетевые интерфейсы SQL Server: Сервер не поддерживает запрошенный протокол [xFFFFFFFF] или Сервер баз данных не обнаружен. Выясним основные причины и способы их устранения:

  1. Включение сетевого протокола TCP/IP в СУБД:

    По умолчанию в некоторых редакциях и именованных экземплярах MS SQL Server протокол TCP/IP отключен. Откроем SQL Server Configuration Manager, перейдем в раздел SQL Server Network Configuration → Protocols for [Имя_Экземпляра]. Убедимся, что протокол TCP/IP переведен в состояние Enabled (Включено). После изменения параметров обязательно перезапустим службу SQL Server.

  2. Запуск службы SQL Server Browser:

    При подключении к именованному экземпляру сервер 1С обращается к службе SQL Server Browser (порт UDP 1434) для определения динамического порта СУБД. В SQL Server Configuration Manager найдем службу SQL Server Browser, переведем тип запуска в Automatic и запустим ее.

  3. Настройка брандмауэра Windows (Firewall):

    На машине с MS SQL Server необходимо открыть входящие порты: TCP 1433 (стандартный порт СУБД) и UDP 1434 (для SQL Server Browser), либо добавить в исключения исполняемые файлы sqlservr.exe и sqlbrowser.exe.

  4. Обновление SQL Server Native Client / OLE DB Driver:

    Ошибка протокола [xFFFFFFFF] часто вызвана несовместимостью версий протокола безопасности TLS (например, СУБД настроена на использование исключительно TLS 1.2, а устаревший Native Client на сервере приложений не поддерживает эту версию). Решением является установка актуальных накопительных пакетов обновления (Cumulative Update) для SQL Server Native Client 11.0 или переход на современный драйвер Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) на машине с сервером 1С.

  5. Смешанный режим аутентификации (Mixed Mode):

    В свойствах сервера MS SQL Server (раздел Security) переключатель проверки подлинности должен стоять в положении SQL Server and Windows Authentication mode (Проверка подлинности SQL Server и Windows). После смены режима требуется перезапуск службы СУБД.

Настройка прав пользователя базы данных (User Mapping)

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

  1. В среде SSMS откроем ветку Security (Безопасность) → Logins (Имена входа).
  2. Откроем свойства нужного пользователя и перейдем на вкладку User Mapping (Сопоставление пользователей).
  3. Отметим флажком восстанавливаемую базу данных.
  4. В нижней панели Database role membership (Членство в роли базы данных) обязательно назначим роль db_owner.
  5. Нажмем OK для сохранения параметров.

Ограничения версий СУБД и альтернативные способы переноса

Важно помнить фундаментальное правило MS SQL Server: резервная копия (бэкап .bak), созданная в более новой версии СУБД (например, SQL Server 2016), не может быть восстановлена на более старую версию (например, SQL Server 2012 или 2008 R2).

Если требуется перенести базу между несовместимыми версиями SQL Server, используем платформенный механизм 1С:Предприятия:

  1. На исходной системе (или во временной совместимой СУБД) откроем базу в режиме Конфигуратор.
  2. Выберем меню Администрирование → Выгрузить информационную базу... и сохраним файл выгрузки .dt.
  3. На целевом сервере создадим пустую информационную базу и загрузим данные через меню Администрирование → Загрузить информационную базу....

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

← На главную