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

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

Как добавить новую базу в 1С на SQL-сервере

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

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

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

Ниже разобраны подготовка, пошаговое создание базы, настройка прав доступа, подключение пользователей, а также типичные ошибки, из-за которых база не создаётся или не подключается. Инструкция ориентирована на связку «1С:Предприятие 8.3 + Microsoft SQL Server», для PostgreSQL отличия указаны отдельно.

Что подготовить перед созданием базы

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

Проверьте, что служба агента сервера 1С запущена (в списке служб Windows она называется «Агент сервера 1С:Предприятия»), а SQL Server принимает подключения — это можно проверить, подключившись к нему через SQL Server Management Studio с того же компьютера, где стоит сервер 1С.

Определите, какая учётная запись будет использоваться для доступа 1С к SQL Server. Рекомендуемая практика — отдельная учётная запись (например, sql_1c), которой выдана роль на уровне сервера, позволяющая создавать базы и владеть ими. Использовать встроенную учётную запись sa в рабочей среде не стоит из соображений безопасности.

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

Служба агента сервера 1СЗапущена

Проверьте в services.msc, что служба агента сервера работает

Подключение к SQL ServerУспешно

Подключитесь через SSMS с сервера 1С под нужной учётной записью

Права учётной записиЕсть право создавать базы

Учётная запись должна иметь роль dbcreator или выше на сервере СУБД

Место на дискахДостаточно

Проверьте свободное место на дисках данных и журнала SQL Server

Создание базы через консоль кластера серверов 1С

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

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

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

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

Порядок создания базы в консоли кластера
  1. 1
    Откройте консоль «Администрирование серверов 1С:Предприятия»
  2. 2
    Разверните сервер и кластер, перейдите в «Информационные базы»
  3. 3
    Правой кнопкой — «Создать → Информационная база»
  4. 4
    Заполните имя, тип СУБД, сервер, имя базы данных, учётные данные
  5. 5
    Установите флажок «Создать базу данных в случае её отсутствия»
  6. 6
    Нажмите «ОК» и убедитесь, что база появилась в списке кластера
  7. 7
    Проверьте в SSMS, что база создана на SQL Server

Альтернативные способы: конфигуратор и ручное создание на SQL

Второй способ — создание базы прямо из конфигуратора. При добавлении новой информационной базы в стартовом окне выберите «Создание новой информационной базы», затем вариант размещения «На сервере 1С:Предприятия». Далее укажите кластер, имя базы, параметры SQL Server и флажок создания базы данных. По сути это тот же механизм, но запущенный со стороны клиента.

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

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

Способы добавления базы

Консоль кластера серверов

Основной способ для администратора; полный контроль над регистрацией базы в кластере

Конфигуратор / стартовое окно

Удобно при создании базы сразу с загрузкой конфигурации; требует тех же прав на SQL

Ручное создание в SSMS + регистрация

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

Настройка прав доступа на SQL Server

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

Если база создаётся вручную в SSMS, а в кластере только регистрируется, учётной записи достаточно быть владельцем конкретной базы (роль db_owner на уровне базы данных). Прав на весь сервер в этом случае не требуется, что безопаснее.

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

Загрузка конфигурации и подключение пользователей

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

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

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

Также создайте пользователей в самой информационной базе через конфигуратор («Администрирование → Пользователи») и назначьте им роли. Учётные записи 1С и учётная запись доступа к SQL — это разные вещи, их не нужно путать.

Проверка результата

После создания и загрузки базы убедитесь, что всё работает на каждом уровне. В консоли кластера база должна отображаться в списке информационных баз без ошибок. В SSMS база должна быть в состоянии ONLINE, а её файлы — на предполагаемых дисках.

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

Дополнительно проверьте настройки SQL Server для новой базы: модель восстановления (для рабочих баз обычно нужна полная модель с регулярным бэкапом журнала), наличие плана обслуживания и резервного копирования. База без настроенного бэкапа — это риск потери данных с первого дня работы.

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

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

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

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

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

Ошибка при открытии свойств, база не видна

База на SQL Server
Норма

Состояние ONLINE, файлы на нужных дисках

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

База отсутствует или в состоянии недоступности

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

Вход под пользователем, документы открываются и записываются

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

Ошибка соединения с сервером или СУБД при входе

Резервное копирование
Норма

Настроено задание бэкапа базы и журнала

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

Бэкап не настроен, модель восстановления не выбрана

Типичные ошибки и их устранение

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

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

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

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

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

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

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

Какие права нужны учётной записи SQL Server для работы базы 1С?

Для автоматического создания базы — роль сервера dbcreator или выше. Для работы уже созданной базы достаточно роли db_owner на уровне конкретной базы данных. Прав системного администратора SQL Server (sysadmin) для штатной работы 1С не требуется, и выдавать их постоянной учётной записи небезопасно.

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

Откройте файловую базу в конфигураторе и выполните «Выгрузить информационную базу» в файл .dt. Затем создайте новую базу на SQL Server любым из описанных способов, подключитесь к ней конфигуратором и выполните «Загрузить информационную базу», указав полученный файл. После проверки работы обновите списки баз у пользователей.

Почему возникает ошибка «база данных не обнаружена» при подключении?

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

Нужно ли пользователям иметь доступ к SQL Server?

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

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

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

Итог

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

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