Администрирование · 10 мин
1С: как подключиться к SQL Server
Как подключить 1С к SQL Server: установка сервера, создание базы, настройка строки подключения, права доступа и решение типичных ошибок подключения.
Работа 1С в клиент-серверном режиме с СУБД Microsoft SQL Server — стандартное решение для баз с несколькими одновременными пользователями и большим объёмом данных. В отличие от файлового варианта, здесь информационная база хранится в SQL Server, а платформа 1С обращается к ней через сервер 1С:Предприятия или напрямую (в зависимости от режима). Ниже описан полный цикл: от подготовки SQL Server до проверки работоспособности базы.
Перед началом убедитесь, что у вас есть: установленный и лицензированный SQL Server (подходят редакции Standard и выше; Express пригоден для небольших баз, но имеет ограничения по памяти и размеру), сервер 1С:Предприятия той же версии платформы, что и клиенты, и учётная запись с правами администратора на обеих машинах. Все действия по созданию базы выполняйте в тестовом контуре, если у вас уже есть рабочая система.
Какой вариант подключения выбрать
Существует два принципиально разных способа работы 1С с SQL Server. Первый — классический клиент-серверный: клиент 1С подключается к серверу 1С:Предприятия, а тот уже работает с SQL Server. Это рекомендуемый вариант для любых многопользовательских баз. Второй — прямое подключение клиента к SQL Server (без сервера 1С) — в современных версиях платформы фактически не используется и остался только как исторический режим для старых конфигураций.
Отдельный случай — подключение к SQL Server из кода 1С через внешние источники данных или COM/ADO, когда нужно читать данные из сторонней базы (не информационной базы 1С). Это задача интеграции, и она решается иначе: строкой подключения в объекте «Внешний источник данных» или через ADODB.Connection.
Сравнение вариантов
Штатный клиент-серверный режим. Подходит для любых рабочих баз, требует установки и лицензирования сервера 1С.
Бесплатная редакция для небольших команд. Ограничения по объёму базы и используемой памяти — не подходит для крупных внедрений.
Для чтения сторонних SQL-баз из кода 1С, а не для размещения информационной базы. Требует написания запросов вручную.
Установка и подготовка SQL Server
Установите SQL Server с компонентом Database Engine. При установке выберите режим проверки подлинности — смешанный (SQL Server и Windows) удобнее, если планируете подключаться по логину и паролю SQL; если используете только Windows-аутентификацию, учётная запись службы сервера 1С должна иметь доступ к СУБД. Запомните или задайте пароль администратора sa, если включали смешанный режим.
После установки проверьте, что служба SQL Server запущена, а в SQL Server Configuration Manager включён протокол TCP/IP — по умолчанию в некоторых редакциях он отключён, и удалённые подключения не пройдут. Если сервер 1С и SQL Server стоят на разных машинах, откройте порт 1433 в брандмауэре Windows (или тот порт, который назначен экземпляру).
Создание базы данных на SQL Server
Базу данных можно создать двумя способами. Первый — вручную в SQL Server Management Studio (SSMS): правый клик по узлу «Базы данных» → «Создать базу данных», задайте имя (латиницей, без пробелов, например trade_base). Второй — создать базу автоматически при создании информационной базы в консоли кластера 1С: платформа сама создаст БД, если у указанной учётной записи достаточно прав.
Для рабочих баз сразу настройте модель восстановления: для продуктивных баз обычно выбирают полную (Full) с регулярным резервным копированием журнала, для тестовых достаточно простой (Simple). Также задайте разумный начальный размер файлов и прирост, чтобы избежать частых авторасширений при загрузке данных.
- 1Откройте SQL Server Management Studio и подключитесь к экземпляру
- 2Щёлкните правой кнопкой по «Базы данных» → «Создать базу данных»
- 3Укажите имя базы латиницей без пробелов
- 4Задайте модель восстановления и размер файлов
- 5Нажмите OK и убедитесь, что база появилась в списке
Создание информационной базы в консоли сервера 1С
Откройте оснастку «Администрирование серверов 1С:Предприятия». Раскройте узел вашего сервера, затем кластер, выберите «Информационные базы» и в контекстном меню — «Создать» → «Информационная база». В появившемся окне заполните параметры: имя базы в кластере, тип СУБД — MS SQL Server, сервер баз данных (имя или IP-адрес, при необходимости с именем экземпляра через обратную косую: SERVER\INSTANCE), имя базы данных, созданной на предыдущем шаге.
В полях «Пользователь базы данных» и «Пароль» укажите учётную запись SQL с правами на базу (для автоматического создания базы — с правами её создавать, например dbcreator). Установите флажок «Создать базу данных в случае ее отсутствия», если базу заранее не создавали. Параметр «Блокировка регламентированных заданий» на время загрузки конфигурации лучше включить.
После нажатия OK платформа создаст структуру базы в SQL Server. Далее добавьте базу в список информационных баз на клиентах: в окне запуска 1С — «Добавить» → «На сервере 1С:Предприятия», укажите имя сервера и имя базы в кластере.
Сервер СУБД: SQL01\MSSQLSERVER
Имя базы: trade_base
Пользователь: 1c_db_user
Тип СУБД: MS SQL ServerНастройка прав доступа
Учётная запись, под которой сервер 1С обращается к SQL Server, должна быть владельцем базы (роль db_owner) или иметь эквивалентные права на чтение, запись и изменение структуры. Не используйте учётную запись sa в продуктивной среде — создайте отдельный логин с минимально необходимыми правами.
При Windows-аутентификации права выдаются учётной записи службы «Агент сервера 1С:Предприятия» (по умолчанию это может быть USR1CV8). Добавьте эту учётную запись в логины SQL Server и назначьте ей роль db_owner на конкретной базе. Проверить, под какой учётной записью работает служба, можно в оснастке «Службы».
Проверка подключения и загрузка конфигурации
После создания информационной базы откройте её в конфигураторе. Если база новая — загрузите конфигурацию из файла .dt (Администрирование → Загрузить информационную базу) или загрузите конфигурацию из файла .cf. Для переноса существующей файловой базы сначала выгрузите её в .dt, затем загрузите в серверную базу.
Признаки успешного подключения: конфигуратор открывается без ошибок соединения, обновление конфигурации базы данных выполняется до конца, база запускается в режиме предприятия и пользователи могут войти. В SSMS при этом видны активные соединения к базе от сервера 1С.
Как проверить результат
База открывается без сообщений об ошибке соединения
Ошибка «Сервер баз данных не обнаружен» или отказ в доступе
В Activity Monitor видны сессии от сервера 1С
Соединений нет, хотя база запущена
Реструктуризация завершается успешно
Ошибки прав или таймауты при реструктуризации
Типичные ошибки и их устранение
Ошибка «Сервер баз данных не обнаружен» чаще всего означает, что не запущена служба SQL Server, отключён протокол TCP/IP, закрыт порт в брандмауэре или неверно указано имя экземпляра. Проверяйте по порядку: служба → протокол → порт → имя сервера. Полезно проверить доступность командой telnet SERVER 1433 с машины сервера 1С.
Ошибки вида «Login failed for user» указывают на проблему с учётной записью: неверный пароль, отключённый логин, отсутствие прав на базу или несоответствие режима аутентификации (логин SQL не работает, если сервер в режиме только Windows-аутентификации). Ошибка несовместимости версий возникает, когда версия платформы на сервере 1С отличается от версии клиента — приведите их к одному релизу.
Подключение к сторонней SQL-базе из кода 1С
Если задача — не разместить базу 1С, а прочитать данные из внешней базы SQL Server (например, из другой учётной системы), используйте объект «Внешние источники данных» в конфигураторе: создайте источник, укажите строку подключения, добавьте таблицы. Либо выполните подключение программно через COM-объект ADODB.Connection.
Соединение = Новый COMОбъект("ADODB.Connection");
Соединение.Open("Provider=SQLOLEDB;Data Source=SQL01;Initial Catalog=ExternalDB;User ID=user;Password=pass;");Учтите, что COM-подключение работает только на стороне, где доступен провайдер (обычно на сервере 1С под Windows), и требует аккуратной обработки ошибок и закрытия соединения. Для регулярных интеграций надёжнее использовать планы обмена или веб-сервисы.
Часто задаваемые вопросы
Можно ли подключить 1С к SQL Server Express?
Да, технически Express-редакция поддерживается и подходит для небольших баз. Учитывайте её ограничения по объёму базы данных, объёму используемой памяти и числу процессоров — для средних и крупных внедрений потребуется платная редакция.
Как перенести файловую базу 1С на SQL Server?
Откройте файловую базу в конфигураторе, выполните «Администрирование → Выгрузить информационную базу» в файл .dt. Затем создайте серверную базу через консоль кластера, откройте её в конфигураторе и загрузите .dt обратно. После загрузки проверьте права пользователей и регламентные задания.
Какая сортировка (collation) нужна для базы 1С?
Рекомендуется Cyrillic_General_CI_AS. Если база создаётся автоматически консолью кластера, платформа устанавливает нужную сортировку сама. При ручном создании базы в SSMS укажите её явно, иначе возможны ошибки при создании информационной базы.
Нужен ли отдельный сервер для SQL Server и сервера 1С?
Для небольших внедрений обе роли могут работать на одной машине — это упрощает сеть и исключает проблемы с портами. При росте нагрузки SQL Server и сервер 1С обычно разносят на разные серверы, чтобы разделить потребление памяти и процессора.
Что делать, если ошибка «Ошибка СУБД» появляется при обновлении конфигурации?
Проверьте права учётной записи на базу (нужна роль db_owner), свободное место на дисках SQL Server и журнал ошибок SQL Server — там указана конкретная причина. Также убедитесь, что с базой не работают другие сеансы в монопольном режиме.
Можно ли подключиться к SQL Server напрямую, минуя сервер 1С?
Для размещения информационной базы — нет, штатный современный режим предполагает работу через сервер 1С:Предприятия. Прямое обращение к таблицам базы из сторонних инструментов допустимо только для чтения и на свой риск, изменять данные напрямую нельзя.
Что важно запомнить
Подключение 1С к SQL Server сводится к четырём шагам: установка и настройка SQL Server (TCP/IP, порт, аутентификация), создание базы данных, создание информационной базы в консоли кластера 1С и проверка входа через конфигуратор. Большинство проблем связано с правами учётной записи, сетевыми настройками и несовпадением версий платформы.