Администрирование · 11 мин
Как подключить 1С к SQL Server: полное руководство
Как подключить 1С к SQL Server: установка сервера 1С, настройка СУБД, создание базы, права доступа, типичные ошибки и проверка результата.
Клиент-серверный режим работы 1С с Microsoft SQL Server — стандартное решение для компаний, где с базой одновременно работают более 5–10 пользователей или объём данных превышает несколько гигабайт. В отличие от файлового варианта, связка «сервер 1С + SQL Server» обеспечивает параллельный доступ, регламентные задания без участия пользователей и нормальное резервное копирование средствами СУБД.
Подключение сводится к четырём этапам: установке и настройке SQL Server, установке сервера 1С:Предприятия, созданию информационной базы через консоль кластера и проверке работоспособности. Каждый этап имеет свои подводные камни: неверный режим проверки подлинности, недостаток прав у служебной учётной записи, несовпадение разрядности компонентов.
Материал рассчитан на администратора, который выполняет подключение впервые или переносит файловую базу в клиент-серверный режим. Описанные действия применимы к актуальным версиям платформы 1С и поддерживаемым версиям SQL Server; точную матрицу совместимости всегда сверяйте с документацией фирмы «1С» для вашей версии платформы.
Что понадобится перед началом работы
Для клиент-серверного режима требуется три компонента: сам SQL Server (подойдёт и бесплатный Express для небольших баз, но с ограничениями по памяти и размеру базы), сервер 1С:Предприятия и клиентские лицензии. Дополнительно нужна лицензия на сервер 1С — без неё кластер не запустится в полноценном режиме.
Проверьте совместимость версий заранее: не каждая версия платформы 1С работает с любой версией SQL Server. Матрица совместимости публикуется в документации к платформе. Также убедитесь, что разрядность сервера 1С совпадает с разрядностью ОС и что на сервере достаточно оперативной памяти — SQL Server и rphost-процессы 1С будут конкурировать за неё, если развёрнуты на одной машине.
Установка и подготовка SQL Server
При установке SQL Server ключевой момент — выбор режима проверки подлинности. Необходим смешанный режим (Mixed Mode), при котором допускается и проверка подлинности Windows, и проверка подлинности SQL Server. Если оставить только Windows-аутентификацию, придётся настраивать права служебной учётной записи сервера 1С вручную, что усложняет схему.
После установки откройте SQL Server Configuration Manager и включите протокол TCP/IP для экземпляра — по умолчанию он может быть отключён, и тогда сервер 1С не сможет подключиться по сети. Если SQL Server и сервер 1С на разных машинах, проверьте, что порт SQL Server (по умолчанию 1433) открыт в брандмауэре.
Создайте отдельную учётную запись SQL Server (например, sql1c) с правами на создание баз данных — достаточно роли dbcreator на уровне сервера, а для уже созданных баз — роли db_owner. Не используйте учётную запись sa в продуктивной среде: это общепринятая практика безопасности, поскольку компрометация sa даёт полный контроль над всем сервером СУБД.
- 1Установите SQL Server, выбрав смешанный режим проверки подлинности
- 2Включите протокол TCP/IP в SQL Server Configuration Manager и перезапустите службу
- 3Откройте порт 1433 в брандмауэре при раздельном размещении серверов
- 4Создайте учётную запись с ролью dbcreator для подключения из 1С
- 5Проверьте подключение через SQL Server Management Studio под новой учётной записью
Установка сервера 1С:Предприятия
Дистрибутив сервера 1С устанавливается с того же установщика технологической платформы — нужно выбрать компоненты «Сервер 1С:Предприятия» и «Администрирование сервера 1С». Разрядность сервера (32 или 64 бита) выбирается при скачивании дистрибутива; для продуктивных систем используется 64-разрядная версия.
При установке укажите учётную запись, под которой будет работать служба агента сервера. По умолчанию создаётся локальный пользователь USR1CV8. Если SQL Server работает на другой машине и планируется Windows-аутентификация, эту учётную запись нужно будет заменить на доменную с соответствующими правами.
После установки убедитесь, что служба «Агент сервера 1С:Предприятия» запущена, и откройте консоль администрирования серверов 1С. Кластер по умолчанию создаётся автоматически с портом 1541; рабочие процессы используют диапазон портов 1560–1591 — эти порты должны быть доступны между клиентами и сервером.
Создание информационной базы на SQL Server
Создание базы выполняется либо через консоль администрирования кластера, либо через стандартный диалог добавления базы в окне запуска 1С. В обоих случаях выбирается тип «Клиент-серверный режим», указывается имя кластера серверов 1С, имя информационной базы в кластере, сервер СУБД, имя базы данных в SQL Server и учётные данные пользователя СУБД.
При создании через диалог запуска установите флаг «Создать базу данных в случае её отсутствия» — тогда база в SQL Server будет создана автоматически. Если база уже существует (например, восстановлена из бэкапа), флаг ставить не нужно, достаточно указать её имя.
После создания пустой базы загрузите в неё конфигурацию: откройте конфигуратор и выполните загрузку из dt-файла (выгрузки файловой базы) через «Администрирование → Загрузить информационную базу». Либо создайте базу из шаблона конфигурации, если разворачиваете новое внедрение.
Перенос существующей файловой базы
Стандартный путь миграции — выгрузка файловой базы в dt-файл через конфигуратор и последующая загрузка в созданную клиент-серверную базу. Этот способ прост и надёжен, но требует времени: выгрузка и загрузка большой базы могут занять часы, в течение которых работа пользователей должна быть остановлена.
Альтернатива — прямое восстановление бэкапа SQL Server, если база уже была в клиент-серверном режиме на другом сервере. В этом случае база восстанавливается средствами SSMS, а в кластере 1С создаётся новая информационная база, указывающая на восстановленную базу данных без флага создания.
После переноса проверьте настройки: у пользователей могут сбиться сохранённые параметры подключения, а регламентные задания, заблокированные в файловой базе, в клиент-серверном режиме начнут выполняться автоматически. Убедитесь, что расписание и состав заданий соответствуют ожиданиям, прежде чем открывать доступ пользователям.
Способы переноса базы
Универсальный способ, подходит для перехода из файлового режима. Требует остановки работы и много времени на больших базах.
Быстрый перенос между SQL-серверами. Применим только если база уже работала в клиент-серверном режиме.
Для нового внедрения без исторических данных. Данные переносятся отдельно обработками.
Проверка подключения и типичные ошибки
Признак успешного подключения — вход в конфигуратор и режим «Предприятие» без ошибок, а также появление базы данных в списке баз в SQL Server Management Studio. Дополнительно проверьте, что в консоли кластера у информационной базы отображаются сеансы при входе пользователя.
Самая частая ошибка — «ошибка СУБД: сервер баз данных не обнаружен». Причины: не запущена служба SQL Server, отключён TCP/IP, закрыт порт в брандмауэре, неверно указано имя сервера (для именованного экземпляра нужен формат ИМЯ_СЕРВЕРА\ЭКЗЕМПЛЯР). Вторая по частоте проблема — ошибка доступа: у учётной записи нет прав на создание базы или на существующую базу.
Также встречается конфликт разрядности: 64-разрядный сервер 1С требует соответствующего окружения, а старые 32-разрядные клиенты могут не подключаться к 64-разрядному кластеру в некоторых конфигурациях. Проверяйте журнал регистрации и технологический журнал сервера 1С — в них содержится точный текст ошибки СУБД.
Настройка после подключения
После запуска базы настройте резервное копирование средствами SQL Server: полный бэкап ежедневно и, при необходимости, бэкапы журнала транзакций с интервалом, определяющим допустимую потерю данных. Для модели восстановления Full обязательно настройте обрезку журнала через регулярные бэкапы лога, иначе файл журнала будет расти бесконечно.
Полезно ограничить максимальный объём памяти SQL Server, если он делит машину с сервером 1С: по умолчанию СУБД может занять почти всю доступную память. Также настройте план обслуживания — перестроение индексов и обновление статистики, это напрямую влияет на скорость работы 1С.
Наконец, обновите строки подключения у пользователей: в списке баз на клиентских машинах старый файловый путь нужно заменить на клиент-серверное подключение с указанием кластера и имени базы. Проще всего распространить готовый файл списка баз или опубликовать базу через веб-сервер, если планируется тонкий/веб-клиент.
Как проверить результат
Агент сервера 1С и SQL Server запущены и работают
Служба остановлена или падает с ошибкой в журнале событий
Вход в режим Предприятие проходит без ошибок, сеанс виден в консоли кластера
Ошибка СУБД при входе, сеанс не создаётся
База присутствует в списке, статус Online
База отсутствует или в состоянии Restoring/Suspect
Задание бэкапа выполняется по расписанию, файл создаётся
Заданий нет или они завершаются с ошибкой
Частые вопросы
Можно ли использовать бесплатный SQL Server Express для 1С?
Можно, но с ограничениями: Express ограничивает объём памяти, размер базы и не включает агент SQL Server для автоматических заданий обслуживания. Для небольших баз и малого числа пользователей это рабочий вариант, для продуктивных сред обычно выбирают Standard.
Нужна ли отдельная лицензия на сервер 1С?
Да, для работы сервера 1С:Предприятия требуется отдельная серверная лицензия помимо клиентских. Без неё кластер не сможет обслуживать подключения в полноценном режиме.
Что делать, если при создании базы возникает ошибка доступа?
Проверьте, что учётная запись, указанная в параметрах базы, существует в SQL Server, имеет роль dbcreator (для создания базы) или db_owner (для существующей), а пароль введён без ошибок. Также убедитесь, что включён смешанный режим проверки подлинности.
Можно ли подключить уже существующую базу SQL Server к 1С?
Да. Создайте новую информационную базу в консоли кластера, укажите имя существующей базы данных и не устанавливайте флаг создания базы. Имена должны совпадать точно, иначе 1С попытается создать новую базу.
Почему после перехода на SQL Server база работает медленнее?
Частые причины: не обновляется статистика и не перестраиваются индексы, SQL Server ограничен по памяти или, наоборот, отнимает память у сервера 1С на одной машине, а также не оптимизированы запросы конкретной конфигурации. Начните с плана обслуживания и анализа настроек памяти.
Как откатиться обратно на файловый режим?
Через конфигуратор выполните выгрузку базы в dt-файл, создайте новую файловую базу и загрузите в неё выгрузку. Предварительно убедитесь, что объём данных позволяет работать в файловом режиме — для крупных баз это может быть неприемлемо.
Что важно запомнить
Подключение 1С к SQL Server состоит из четырёх шагов: настройка СУБД со смешанной аутентификацией и TCP/IP, установка сервера 1С, создание базы через кластер и проверка входа. Перед любыми операциями с данными делайте резервные копии, а после запуска настройте бэкапы и обслуживание SQL Server.