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

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

Как подключить SQL базу к 1С

Пошаговая инструкция по подключению SQL-базы к 1С: создание базы на MS SQL Server, настройка сервера 1С, права доступа, типичные ошибки и проверка результата.

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

Чаще всего связка строится на MS SQL Server, поскольку платформа 1С исторически оптимизирована под него, а бесплатной редакции SQL Server Express хватает для небольших баз. PostgreSQL выбирают ради отсутствия лицензионных платежей за СУБД, но требуется специальная сборка, адаптированная под 1С. Дальнейшая инструкция ориентирована на связку «сервер 1С + MS SQL Server» как наиболее распространённую, с оговорками для PostgreSQL.

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

Выбор СУБД и подготовка сервера

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

Требования к серверу зависят от числа пользователей и размера базы. Общие принципы: СУБД чувствительна к скорости дисковой подсистемы, поэтому базу размещают на SSD; оперативной памяти должно хватать и серверу 1С, и СУБД, если они установлены на одной машине. Для небольших баз допустимо ставить сервер 1С и SQL Server на один компьютер, для средних и крупных — их разносят на разные машины.

Сравнение вариантов СУБД

MS SQL Server

Штатный вариант для 1С, простая настройка, есть бесплатная редакция Express с ограничениями на размер базы и ресурсы

PostgreSQL

Бесплатен без ограничений по объёму, но требуется специальная сборка под 1С и более тонкая настройка параметров

Oracle Database / IBM DB2

Подходят крупным предприятиям с существующей инфраструктурой этих вендоров; дорого и избыточно для типовых задач

Установка и настройка MS SQL Server

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

После установки проверьте, что служба SQL Server запущена, и включите протокол TCP/IP в SQL Server Configuration Manager — по умолчанию он может быть отключён, и сервер 1С не сможет подключиться. Также убедитесь, что порт SQL Server (по умолчанию 1433) открыт в брандмауэре, если СУБД и сервер 1С находятся на разных машинах.

Создавать базу данных вручную через SQL Server Management Studio не обязательно: консоль сервера 1С умеет создать её автоматически при создании информационной базы. Однако учётная запись, под которой 1С будет обращаться к SQL Server, должна иметь права на создание базы (роль dbcreator) или уже созданная база должна принадлежать ей (роль db_owner).

Создание информационной базы через консоль сервера 1С

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

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

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

После нажатия «ОК» консоль создаст запись об информационной базе в кластере и, при необходимости, саму базу в SQL Server. Процесс занимает от нескольких секунд до пары минут. Если появилась ошибка — читайте её текст внимательно: чаще всего это неверные учётные данные, недоступность сервера SQL по сети или отсутствие прав на создание базы.

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

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

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

Подключение пользователей и публикация базы

После создания информационной базы на сервере пользователи подключаются к ней через диалог добавления базы в стартовом окне 1С: выбирается вариант «На сервере 1С:Предприятия», указывается имя сервера и имя информационной базы. Для тонкого клиента этого достаточно. Если нужна работа через веб-браузер или веб-сервисы, базу дополнительно публикуют на веб-сервере (IIS или Apache) с помощью механизма публикации из конфигуратора.

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

Типичные ошибки при подключении
01
Указывают имя компьютера вместо экземпляра SQL Server — при именованном экземпляре нужен формат СЕРВЕР\ЭКЗЕМПЛЯР, иначе подключение не находит СУБД
02
Оставляют выключенным протокол TCP/IP в настройках SQL Server — сервер 1С на другой машине не может достучаться до базы
03
Дают учётной записи 1С права sa «на всякий случай» — это избыточные права и риск безопасности; достаточно dbcreator на этапе создания и db_owner далее
04
Пускают пользователей в базу до снятия блокировки регламентных заданий или до проверки данных — получают либо неработающие фоновые задачи, либо работу в непроверенной базе

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

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

Если база не открывается, диагностику ведите по цепочке: доступен ли сервер 1С (служба агента запущена), доступен ли SQL Server с машины сервера 1С (проверьте подключение через Management Studio с теми же учётными данными), верно ли указаны имя базы и параметры в консоли кластера. Большинство проблем находится именно на этих трёх звеньях.

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

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

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

База отображается в списке информационных баз без ошибок

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

Ошибка при создании или база не появляется в списке

Подключение к SQL Server
Норма

С машины сервера 1С база открывается в Management Studio под указанной учётной записью

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

Ошибка входа или сетевое подключение не устанавливается

Вход пользователя
Норма

Тонкий клиент открывает базу, справочники и документы доступны

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

Ошибка соединения с сервером или пустой список баз

Регламентные задания
Норма

После снятия блокировки фоновые задания выполняются по расписанию

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

Задания не стартуют или завершаются с ошибкой в журнале регистрации

Особенности подключения PostgreSQL

Для PostgreSQL последовательность аналогична, но есть отличия. Во-первых, нужна сборка PostgreSQL, адаптированная для 1С — ванильная версия не поддерживается платформой. Во-вторых, в консоли кластера при создании базы тип СУБД выбирается PostgreSQL, а порт по умолчанию — 5432. В-третьих, производительность PostgreSQL под 1С сильно зависит от настройки конфигурационного файла (память, количество соединений), и параметры по умолчанию обычно требуют корректировки под нагрузку.

Учётная запись для подключения создаётся в PostgreSQL с правами на создание баз или с владением конкретной базой. Как и в случае с MS SQL, конечные пользователи 1С с PostgreSQL напрямую не взаимодействуют — вся работа идёт через сервер 1С.

Итог

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

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

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

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

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

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

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

Нужно ли создавать базу данных в SQL Server вручную?

Не обязательно. Если у учётной записи, указанной при создании информационной базы, есть права на создание баз (роль dbcreator), консоль сервера 1С создаст базу автоматически. Ручное создание имеет смысл, когда нужно заранее задать расположение файлов данных и журнала.

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

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

Как перенести большую файловую базу, если выгрузка в .dt занимает слишком много времени?

Альтернативы ограничены: .dt — штатный способ. Можно сократить время, предварительно свернув базу (обрезав старые периоды) или удалив ненужные данные. Планируйте перенос на нерабочее время и заранее замерьте длительность на тестовой копии.

Пользователям 1С нужны учётные записи в SQL Server?

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