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

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

Как добавить базу 1С на SQL Server

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

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

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

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

Что потребуется перед началом работы

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

Проверьте совместимость версий. Платформа 1С поддерживает определённые версии SQL Server — эта информация есть в документации к конкретному релизу платформы. Использование неподдерживаемой версии СУБД приводит к ошибкам при создании базы или к нестабильной работе. Разрядность также важна: для 64-разрядного сервера 1С нужны 64-разрядные компоненты доступа к SQL Server.

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

Настройка учётной записи и прав в SQL Server

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

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

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

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

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

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

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

Порядок действий
  1. 1
    Сделайте выгрузку рабочей базы в файл .dt через конфигуратор (Администрирование → Выгрузить информационную базу)
  2. 2
    Проверьте, что служба SQL Server запущена, включён TCP/IP и создан логин с ролью dbcreator
  3. 3
    Откройте консоль кластера серверов 1С, в ветке «Информационные базы» выберите «Создать»
  4. 4
    Заполните имя базы, сервер СУБД, имя базы данных, учётные данные; включите блокировку регламентных заданий
  5. 5
    Добавьте новую базу в список баз на клиенте, откройте конфигуратор и загрузите .dt (Администрирование → Загрузить информационную базу)
  6. 6
    Отключите блокировку регламентных заданий и проверьте вход пользователей

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

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

Этот способ удобен для быстрого развёртывания базы из шаблона конфигурации, но менее гибок: часть параметров кластера (например, тонкая настройка блокировок) доступна только в консоли администрирования. Для пустой базы или базы из шаблона конфигуратора достаточно.

Что делать, если база уже существует на SQL Server

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

Перенос данных из файловой базы

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

Загрузка больших баз занимает заметное время — от десятков минут до нескольких часов в зависимости от объёма. На это время пользователи не должны работать с базой, а регламентные задания должны быть заблокированы. После загрузки запустите тестирование и исправление (хотя бы проверку логической целостности) и убедитесь, что справочники и документы на месте.

Альтернатива для больших баз — восстановление средствами SQL Server из резервной копии, если база уже когда-то работала на SQL. Для переезда «файловая → SQL» этот путь не подходит: форматы хранения несовместимы, прямого конвертера файловой базы в SQL-формат нет.

Типичные ошибки
01
Создание базы под логином без роли dbcreator — платформа выдаёт ошибку доступа, база не создаётся
02
Отключённый TCP/IP в настройках SQL Server — сервер 1С не может подключиться, особенно при разнесении на разные машины
03
Загрузка .dt без блокировки регламентных заданий — фоновые задачи запускаются во время загрузки и портят данные
04
Несовпадение версии платформы на сервере и у клиентов — пользователи получают ошибку несовместимости при подключении
05
Хранение базы 1С и журнала транзакций на одном перегруженном диске — резкое падение производительности под нагрузкой

Проверка результата и первичная настройка

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

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

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

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

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

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

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

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

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

База данных в SQL Server
Норма

В SSMS видна база с заданным именем, состояние ONLINE

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

Базы нет или она в состоянии восстановления/подозрительная

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

Клиент подключается к серверной базе, данные открываются

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

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

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

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

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

Задания не стартуют — блокировка осталась включённой

Ограничения и когда нужен специалист

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

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

Итог

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

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

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

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

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

Какие права нужны учётной записи в SQL Server?

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

Можно ли перенести файловую базу на SQL Server напрямую, скопировав файл 1Cv8.1CD?

Нет. Форматы хранения файловой и серверной базы несовместимы. Единственный штатный путь — выгрузка файловой базы в .dt через конфигуратор и загрузка этого файла в уже созданную серверную базу.

Почему при создании базы возникает ошибка доступа к SQL Server?

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

Нужно ли блокировать регламентные задания при загрузке .dt?

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

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

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