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

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

Как подключить 1С к SQL Server: полное руководство

Как подключить 1С к SQL Server: установка СУБД, настройка сервера 1С, создание базы, строки подключения, типичные ошибки и проверка результата.

Клиент-серверный режим работы 1С:Предприятие предполагает хранение информационной базы не в файле, а в базе данных SQL Server (или PostgreSQL, Oracle, IBM DB2). Такой вариант нужен, когда с базой одновременно работают несколько пользователей, объём данных растёт, а файловый режим начинает «тормозить» и давать сбои при одновременном доступе.

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

Ниже разобран порядок действий для связки 1С + Microsoft SQL Server как наиболее распространённой, указаны требования к версиям, типовые ошибки и способы проверить, что подключение работает корректно.

Какие версии SQL Server и 1С совместимы

Платформа 1С:Предприятие поддерживает не любые версии SQL Server: перечень совместимых СУБД указан в документации к конкретной версии платформы. Обычно поддерживаются актуальные выпуски Microsoft SQL Server, PostgreSQL (в сборке, адаптированной для 1С), Oracle Database и IBM DB2. Использование неподдерживаемой версии СУБД приводит к ошибкам при создании базы или к нестабильной работе.

Второе требование — разрядность. Сервер 1С и клиентская часть драйверов СУБД должны совпадать: для 64-разрядного сервера 1С нужны 64-разрядные компоненты доступа к данным. Сам SQL Server практически всегда 64-разрядный, поэтому проблемы возникают в основном при попытке использовать 32-разрядный сервер 1С с новыми версиями СУБД.

Третий момент — редакция SQL Server. Для небольших баз подходит бесплатная редакция Express, но у неё есть ограничения по объёму базы и используемой памяти. Для рабочих баз с десятками пользователей обычно выбирают Standard или Enterprise. Перед установкой сверьтесь с системными требованиями вашей версии платформы 1С.

Установка и подготовка SQL Server

Установите SQL Server на выделенный сервер или на ту же машину, где будет работать сервер 1С (допустимо для небольших внедрений). При установке выберите компонент Database Engine, задайте имя экземпляра (по умолчанию MSSQLSERVER) и настройте режим проверки подлинности. Платформа 1С умеет работать и с Windows-аутентификацией, и с проверкой подлинности SQL Server — второй вариант проще в настройке, если сервер 1С и СУБД находятся на разных машинах без домена.

После установки включите протокол TCP/IP в диспетчере конфигурации SQL Server (SQL Server Configuration Manager) и перезапустите службу. По умолчанию используется порт 1433 — его нужно открыть в брандмауэре, если сервер 1С стоит на другой машине. Проверьте, что служба SQL Server Browser запущена, если используется именованный экземпляр.

Создайте отдельный логин для 1С: не используйте учётную запись sa в рабочей базе. Логину достаточно права на создание баз данных (роль dbcreator) на этапе развёртывания и владения конкретной базой (db_owner) в дальнейшей работе. Это снижает риск случайного повреждения соседних баз.

Установка сервера 1С:Предприятия

Сервер 1С устанавливается из того же дистрибутива платформы: при установке выберите компонент «Сервер 1С:Предприятия». После установки в системе появляется служба агента сервера, которая по умолчанию слушает порты 1540–1541 (агент и менеджер кластера) и диапазон рабочих процессов 1560–1591. Эти порты должны быть открыты между клиентскими машинами и сервером 1С.

Учётная запись, под которой работает служба агента сервера (по умолчанию создаётся пользователь USR1CV8), должна иметь достаточные права на локальные ресурсы. Если используется Windows-аутентификация на SQL Server, именно этой учётной записи нужно выдать доступ к СУБД, либо службу агента запускают под доменной учётной записью с соответствующими правами.

Проверить, что сервер запущен, можно через оснастку «Службы» (служба «Агент сервера 1С:Предприятия» должна быть в состоянии «Работает») или через консоль администрирования серверов 1С, которая устанавливается вместе с сервером.

Создание информационной базы на SQL Server

Основной способ создать базу — консоль администрирования серверов 1С. Откройте консоль, добавьте центральный сервер (локальный или по имени машины), разверните кластер и в контекстном меню узла «Информационные базы» выберите «Создать» → «Информационная база».

В диалоге укажите имя базы (как она будет отображаться в списке), тип СУБД — MS SQL Server, сервер баз данных (имя машины или имя\экземпляр), имя базы данных в СУБД, логин и пароль пользователя SQL Server. Параметр «Создать базу данных в случае её отсутствия» позволяет платформе самой создать пустую базу на SQL Server — это удобно, если логин имеет право dbcreator.

Альтернативный путь — создать базу через конфигуратор: при добавлении новой информационной базы в стартовом окне выберите «Создание новой информационной базы» → «На сервере 1С:Предприятия» и заполните те же параметры. После создания база пустая: в неё нужно загрузить конфигурацию из файла .dt или .cf через конфигуратор.

Порядок действий
  1. 1
    Установите SQL Server, включите TCP/IP и откройте порт 1433 в брандмауэре
  2. 2
    Создайте логин с правами dbcreator для развёртывания базы
  3. 3
    Установите сервер 1С:Предприятия и убедитесь, что служба агента запущена
  4. 4
    Откройте консоль администрирования, добавьте сервер и кластер
  5. 5
    Создайте информационную базу, указав сервер СУБД, имя базы и учётные данные
  6. 6
    Загрузите конфигурацию из файла .dt или .cf через конфигуратор
  7. 7
    Запустите клиент 1С и проверьте вход в базу

Как проверить, что подключение работает

Первый признак успеха — база появилась в списке информационных баз консоли кластера без ошибок, а на SQL Server в Management Studio видна новая база данных с заполненными системными таблицами платформы. Если база в СУБД создана, но пустая, значит, конфигурация ещё не загружена — это нормально на этапе развёртывания.

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

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

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

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

База в консоли кластера
Норма

База отображается, свойства открываются без ошибок

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

Ошибка соединения с СУБД при открытии свойств

База в SQL Server Management Studio
Норма

База существует, содержит таблицы платформы

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

Базы нет или она пустая после загрузки конфигурации

Вход из клиента 1С
Норма

Пользователь входит в режим «Предприятие»

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

Ошибка аутентификации или «информационная база не обнаружена»

Сетевые порты
Норма

Порты 1540-1541 и 1433 доступны с клиентских машин

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

Тайм-аут при подключении, ошибки сети

Типичные ошибки и их причины

Самая частая ошибка — «Ошибка соединения с сервером 1С:Предприятия»: клиент не может достучаться до агента сервера. Причины — остановлена служба агента, закрыты порты 1540–1541, неверно указано имя сервера в списке баз. Проверяйте службу и доступность портов командой telnet или Test-NetConnection.

Вторая группа ошибок связана с СУБД: «Ошибка СУБД» при создании или открытии базы. Обычно это неверный логин/пароль, недостаточно прав на создание базы, недоступен SQL Server по сети (выключен TCP/IP, закрыт порт 1433) или несовместимая версия СУБД. Текст ошибки в консоли кластера обычно содержит код и описание от SQL Server — начинайте диагностику с него.

Отдельная ситуация — ошибки аутентификации при Windows-авторизации: служба агента сервера работает под учётной записью, которой не выдан доступ к SQL Server. Решение — предоставить этой учётной записи логин в СУБД или переключиться на проверку подлинности SQL Server с явным указанием логина и пароля в свойствах базы.

Типичные ошибки
01
Использование учётной записи sa для рабочей базы — риск повреждения всех баз при компрометации пароля
02
Несовпадение разрядности сервера 1С и компонентов доступа к СУБД — ошибки подключения без явного описания причины
03
Закрытый порт 1433 или выключенный протокол TCP/IP — сервер 1С не видит СУБД по сети
04
Создание базы напрямую в Management Studio вручную — база без структур платформы не откроется в 1С
05
Отсутствие резервной копии перед переносом файловой базы в SQL — потеря данных при сбое загрузки

Перенос существующей файловой базы в SQL

Если база уже работает в файловом режиме, перенос выполняется через выгрузку в файл .dt: в конфигураторе файловой базы выберите «Администрирование» → «Выгрузить информационную базу». Затем создайте пустую базу на SQL Server по инструкции выше и загрузите .dt через «Загрузить информационную базу».

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

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

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

Альтернативы: PostgreSQL и файловый режим

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

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

Сравнение вариантов

Файловый режим

Подходит для небольших баз и нескольких пользователей; ограничение — снижение стабильности при росте объёма и одновременной работе

MS SQL Server

Стандартный выбор для клиент-серверного режима; ограничение — стоимость лицензий для редакций выше Express

PostgreSQL (сборка для 1С)

Бесплатная альтернатива SQL Server; ограничение — нужна адаптированная сборка и аккуратность с совместимостью версий

Итог

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

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

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

Можно ли подключить 1С к SQL Server без сервера 1С?

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

Какой режим аутентификации выбрать на SQL Server?

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

Почему при создании базы возникает ошибка «Ошибка СУБД»?

Чаще всего причины — неверный логин или пароль, отсутствие у логина права создавать базы, недоступность SQL Server по сети (выключен TCP/IP или закрыт порт 1433) либо несовместимая версия СУБД. Точную причину подсказывает текст ошибки от SQL Server в сообщении.

Можно ли создать базу на SQL Server вручную через Management Studio?

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

Подойдёт ли бесплатный SQL Server Express для рабочей базы?

Для небольших баз с ограниченным числом пользователей — да, но у редакции Express есть ограничения на размер базы и используемые ресурсы. Когда база вырастет или нагрузка увеличится, потребуется переход на платную редакцию, поэтому оцените перспективы роста заранее.

Как перенести файловую базу на SQL без потери данных?

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