Администрирование · 11 мин
Как добавить базу 1С в SQL Server
Как добавить базу 1С в SQL Server: создание базы через консоль кластера, настройка прав, подключение в списке баз и проверка результата. Разбор ошибок.
Клиент-серверный режим работы 1С подразумевает, что данные информационной базы хранятся не в файле на диске, а в базе данных на сервере СУБД — чаще всего Microsoft SQL Server. Задача «добавить базу 1С в SQL» возникает при первом развёртывании системы, при переезде с файлового режима или при создании копии рабочей базы для тестирования.
Процедура состоит из нескольких этапов: подготовки SQL Server, создания пустой базы данных, регистрации информационной базы в кластере серверов 1С (или создании её через конфигуратор) и проверки подключения. Пропуск любого этапа приводит к типовым ошибкам — от «база данных не найдена» до отказа в доступе.
Важно понимать: 1С не работает с SQL Server напрямую. Между ними стоит сервер 1С:Предприятия, который транслирует запросы платформы в T-SQL. Поэтому настройка затрагивает три компонента: SQL Server, кластер 1С и учётные записи, под которыми они взаимодействуют.
Что подготовить перед добавлением базы
До начала работы проверьте, что все компоненты установлены и доступны. Понадобятся: установленный и запущенный SQL Server, сервер 1С:Предприятия (агент кластера), консоль администрирования серверов 1С и клиентское приложение 1С с конфигуратором. Все компоненты могут стоять как на одной машине (для тестовой среды), так и на разных серверах (типичная схема для продуктива).
Особое внимание уделите учётной записи, под которой работает агент сервера 1С (по умолчанию это локальная учётная запись USR1CV8, создаваемая при установке). Именно от её имени сервер 1С будет обращаться к SQL Server, если вы используете аутентификацию Windows. У этой записи должны быть права на создание баз данных (роль dbcreator) либо права владельца на уже созданную базу.
Создание базы данных на SQL Server
Есть два пути: создать пустую базу заранее средствами SQL Server Management Studio (SSMS) или позволить серверу 1С создать её автоматически при регистрации информационной базы. Второй вариант проще, но первый даёт контроль над параметрами — расположением файлов данных и журнала, моделью восстановления, collation.
При ручном создании в SSMS выполните: правый клик по узлу «Базы данных» → «Создать базу данных», укажите имя (латиницей, без пробелов — так проще администрировать), задайте владельца. Для модели восстановления в большинстве случаев достаточно Simple для тестовых баз и Full для продуктивных с настроенным резервным копированием журналов.
CREATE DATABASE [MyBase1C]
COLLATE Cyrillic_General_CI_AS;
GO
ALTER DATABASE [MyBase1C] SET RECOVERY SIMPLE;
GOОбратите внимание на параметр collation (сопоставление). Для баз 1С традиционно используется Cyrillic_General_CI_AS. Неверное сопоставление может привести к проблемам с сортировкой и сравнением строк, а изменить его после заполнения базы данными — сложная операция.
Регистрация информационной базы в кластере 1С
Основной способ добавить базу — консоль администрирования серверов 1С (оснастка «Администрирование серверов 1С Предприятия»). Откройте консоль, разверните нужный кластер, раскройте ветку «Информационные базы» и выберите «Создать → Информационная база».
В диалоге заполните поля: имя информационной базы (отображается пользователям), тип СУБД — MS SQL Server, сервер баз данных (имя или IP-адрес SQL Server, при необходимости с именем экземпляра), имя базы данных, а также учётные данные администратора СУБД. Если база данных ещё не создана, установите флаг «Создать базу данных в случае её отсутствия».
- 1Убедитесь, что службы агента сервера 1С и SQL Server запущены
- 2Создайте пустую базу данных в SSMS или подготовьте права на её автоматическое создание
- 3Откройте консоль кластера 1С и создайте новую информационную базу
- 4Укажите сервер СУБД, имя базы данных и учётные данные администратора СУБД
- 5Установите флаг создания базы, если она не создана вручную
- 6Сохраните и проверьте, что база появилась в списке информационных баз кластера
После сохранения информационная база появится в кластере, но она пуста — в ней нет ни конфигурации, ни данных. Следующий шаг зависит от вашего сценария: загрузка существующей базы из файла .dt или создание новой базы из шаблона конфигурации.
Загрузка данных и подключение пользователей
Загрузка базы из файла выгрузки .dt
Если вы переносите существующую базу (например, из файлового режима), откройте конфигуратор, подключившись к новой серверной базе: в списке баз добавьте информационную базу с типом расположения «На сервере 1С:Предприятия», укажите имя сервера кластера и имя информационной базы. Затем в конфигураторе выполните «Администрирование → Загрузить информационную базу» и выберите файл .dt.
Загрузка больших баз занимает заметное время — от десятков минут до нескольких часов. В этот период база недоступна для пользователей. Для очень больших баз альтернативой служит перенос средствами SQL Server: резервная копия на старом сервере, восстановление на новом, после чего в консоли кластера создаётся информационная база, указывающая на восстановленную базу данных.
Создание базы из шаблона конфигурации
Если база новая, при добавлении её в список баз на клиенте выберите вариант создания новой информационной базы из шаблона. Платформа сама создаст структуру в SQL Server и развернёт конфигурацию. Этот путь подходит для чистых установок типовых решений.
Настройка прав доступа
Серверу 1С нужна учётная запись на SQL Server с достаточными правами. Возможны два подхода: аутентификация Windows (от имени учётной записи агента сервера 1С) и аутентификация SQL Server (отдельный логин с паролем, указывается при создании информационной базы). Для рабочих баз достаточно роли db_owner на конкретную базу; прав системного администратора (sysadmin) давать не следует — это избыточно и небезопасно.
При аутентификации Windows и разнесении сервера 1С и SQL Server на разные машины убедитесь, что учётная запись агента — доменная, а не локальная: локальная запись одного сервера не будет авторизована на другом. Это одна из самых частых причин ошибки «пользователю не удалось выполнить вход».
Проверка результата
После регистрации и загрузки проверьте работоспособность на нескольких уровнях. В консоли кластера информационная база должна отображаться без ошибок. В SSMS база данных должна быть в состоянии ONLINE и содержать таблицы платформы (Config, Params, Reference и другие) после загрузки конфигурации. На клиенте база должна открываться в режиме предприятия и конфигуратора.
Дополнительно проверьте работу под учётной записью рядового пользователя, а не только администратора: добавьте пользователя в список пользователей информационной базы и убедитесь, что он проходит аутентификацию и видит свои данные.
Как проверить результат
Статус ONLINE, таблицы платформы присутствуют
База в состоянии Restoring, Suspect или пустая
База видна в списке, свойства открываются без ошибок
Ошибка соединения с СУБД при открытии свойств
База открывается в режиме предприятия и конфигуратора
Ошибка аутентификации или «информационная база не обнаружена»
Пользователь входит и видит данные согласно правам
Вход возможен только под администратором
Частые ошибки и их устранение
Ошибка «Ошибка соединения с сервером баз данных» при создании информационной базы обычно означает, что SQL Server недоступен по сети: проверьте, что служба SQL Server запущена, включён протокол TCP/IP в настройках сетевой конфигурации SQL Server, а порт (по умолчанию 1433) не заблокирован брандмауэром.
Ошибка «Login failed for user» указывает на проблему аутентификации: либо неверный логин/пароль при SQL-аутентификации, либо у учётной записи агента 1С нет логина на SQL Server. Создайте логин в SSMS (Безопасность → Имена входа) и назначьте нужные права.
Если база создана, но конфигуратор не подключается с сообщением о несовпадении версий, проверьте, что версии платформы на сервере 1С и на клиенте совместимы, а в свойствах информационной базы не установлена блокировка соединений.
Как выбрать действие
Частые вопросы
Можно ли добавить базу 1С в SQL без консоли кластера?
Да. При добавлении базы в список на клиенте можно выбрать создание серверной информационной базы — платформа сама обратится к кластеру и SQL Server. Также существует режим командной строки конфигуратора CreateInfobase для автоматизации. Однако консоль кластера даёт полный контроль над параметрами и остаётся основным инструментом администратора.
Какую версию SQL Server выбрать для 1С?
Подойдёт любая версия, официально поддерживаемая вашей версией платформы 1С — перечень приводится в системных требованиях конкретного релиза платформы. Для небольших баз (до ограничения по размеру) допустим бесплатный Express Edition, но у него есть ограничения по объёму базы, памяти и числу ядер, а также нет агента SQL Server для регламентных заданий резервного копирования.
Чем перенос через .dt отличается от переноса через бэкап SQL?
Выгрузка .dt работает на уровне платформы и подходит для переноса между разными СУБД и версиями, но медленна на больших базах и требует монопольного доступа. Резервная копия SQL Server переносится быстрее и сохраняет всё «как есть», но привязана к SQL Server и не решает проблем внутренней структуры базы — при повреждениях данных копия перенесёт и их.
Почему после восстановления бэкапа база в кластере не открывается?
Чаще всего информационная база в кластере указывает на другое имя базы данных или другой сервер. Откройте свойства информационной базы в консоли кластера и сверьте поля «Сервер баз данных» и «База данных» с фактическими. Также проверьте, что учётная запись, указанная в свойствах, имеет доступ к восстановленной базе.
Нужно ли давать учётной записи 1С права sysadmin на SQL Server?
Нет. Для создания баз достаточно роли dbcreator, а для повседневной работы — db_owner на конкретную базу данных. Права sysadmin избыточны и создают риск: любая уязвимость или ошибка в операциях сервера 1С получит полный контроль над всем экземпляром SQL Server, включая чужие базы.
Можно ли разместить несколько баз 1С на одном SQL Server?
Да, это стандартная практика: один экземпляр SQL Server обслуживает множество баз данных, каждая из которых соответствует своей информационной базе в кластере 1С. Следите лишь за суммарной нагрузкой — памятью, дисковой подсистемой и настройками max server memory, чтобы базы не конкурировали за ресурсы.
Что важно запомнить
Добавление базы 1С в SQL сводится к трём шагам: подготовить SQL Server и права, зарегистрировать информационную базу в кластере 1С, загрузить данные или конфигурацию. Ключевые точки риска — учётная запись агента 1С, collation базы и отсутствие резервной копии. Проверяйте результат на всех уровнях: SSMS, консоль кластера и клиентское приложение.