При развертывании инфраструктуры 1С в клиент-серверном варианте, особенно на свежеустановленных серверах, часто возникает ошибка на этапе создания новой информационной базы. Платформа 1С сообщает об ошибке, не давая создать базу данных на сервере Microsoft SQL Server. Давайте подробно разберем, почему это происходит и как пошагово устранить эту проблему.
Проанализируем типичную ситуацию: у нас есть сервер под управлением Windows Server, на котором установлены и сервер 1С:Предприятие, и MS SQL Server. Службы запущены, сетевая связность есть, но при попытке создать базу из консоли 1С или из конфигуратора мы получаем ошибку. Основная причина почти всегда кроется в правах доступа и настройках самого SQL Server.
Прежде чем переходить к сложным настройкам, убедимся в работоспособности базовых компонентов. Эти простые проверки помогут исключить очевидные проблемы.
services.msc) и убедимся, что ключевые службы запущены. Нас интересуют:
Это самая распространенная причина ошибки. По умолчанию, учетная запись, от имени которой работает служба "Агент сервера 1С:Предприятие" (чаще всего это системный пользователь USR1CV8), не имеет достаточных прав на сервере MS SQL для выполнения операции создания новой базы данных.
Чтобы предоставить необходимые права, выполним следующие действия:
USR1CV8. Если такого логина нет, его необходимо создать.dbcreator — эта роль дает право создавать, изменять и удалять базы данных.public — эта роль есть у всех по умолчанию, но убедимся, что она активна.После предоставления роли dbcreator пользователь USR1CV8 сможет самостоятельно выполнять команду CREATE DATABASE на SQL сервере, и процесс создания базы из консоли 1С пройдет успешно.
Если по каким-то причинам вы не хотите давать пользователю службы 1С права на создание баз (например, из соображений безопасности), можно использовать другой, абсолютно рабочий метод. Суть его в том, чтобы сначала подготовить "пустой контейнер" в SQL, а затем "подключить" его к 1С.
Разберем этот процесс по шагам:
Запустим SQL Server Management Studio. В обозревателе объектов нажмем правой кнопкой мыши на "Базы данных" (Databases) и выберем "Создать базу данных" (New Database).
В открывшемся окне зададим имя будущей базы, например, MyCompany_ERP.
Критически важный параметр — параметры сортировки (Collation). Для корректной работы русскоязычных конфигураций 1С необходимо установить значение Cyrillic_General_CI_AS. Если этого не сделать, в будущем вы можете столкнуться с ошибками сортировки и сравнения строк. Перейдем на вкладку "Параметры" (Options) и в поле "Параметры сортировки" выберем нужное значение.
Нажимаем "ОК". Пустая база данных создана.
Теперь откроем "Администрирование серверов 1С:Предприятия".
Нажмем правой кнопкой на кластере и выберем "Создать" -> "Информационную базу".
В мастере создания укажем имя базы (например, "Бухгалтерия предприятия").
На шаге выбора СУБД выберем "Microsoft SQL Server".
Далее заполним поля, но с одним ключевым отличием. В поле "База данных" укажем точное имя базы, которую мы создали на предыдущем шаге в SSMS (MyCompany_ERP).
Также укажем пользователя и пароль для доступа к SQL. Это может быть пользователь с правами db_owner на уже созданную базу.
Важно: снимем флажок "Создавать базу данных в случае ее отсутствия", так как база у нас уже существует.
Завершаем работу мастера. Сервер 1С не будет пытаться создать базу на SQL, а просто подключится к существующей и создаст в ней необходимые для своей работы таблицы и объекты.
Если предыдущие шаги не помогли, стоит проверить настройки сетевого взаимодействия на уровне самого SQL Server.
Таким образом, решая проблему создания базы 1С, мы проходим путь от простой проверки служб до тонкой настройки прав и сетевых протоколов. В подавляющем большинстве случаев, предоставление роли dbcreator пользователю службы 1С или предварительное ручное создание базы данных в SSMS с правильными параметрами сортировки полностью решает данную ошибку.