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

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Разграничение понятий: Кластер 1С и Сервер баз данных

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

  1. Кластер серверов 1С:Предприятия: Здесь указывается сетевое имя компьютера, на котором запущен Агент сервера 1С. Например, если сервер называется SERVER, то указывать нужно именно SERVER. Попытка вписать сюда SERVER\SQLEXPRESS приведет к ошибке, так как кластер 1С не является экземпляром SQL.
  2. Сервер баз данных: В этом поле указывается путь к MS SQL Server. Если вы используете версию SQL Express, обязательно указывается имя экземпляра через обратный слэш, например: SERVER\SQLEXPRESS.

Проанализируем ситуацию: если при попытке соединения вы видите ошибку 10061 (No connection could be made because the target machine actively refused it), это означает, что запрос дошел до физического сервера, но порт (по умолчанию 1541 для 1С) закрыт или не прослушивается. Выясним причины ниже.

Настройка сетевых протоколов и портов MS SQL Server

Рассмотрим по шагам настройку MS SQL Server Express, так как в этой версии многие функции выключены по умолчанию. Для того чтобы 1С могла «достучаться» до SQL, необходимо выполнить следующие действия:

Во-первых, откроем SQL Server Configuration Manager. Перейдем в раздел SQL Server Network Configuration -> Protocols for SQLEXPRESS. Здесь мы обязательно должны увидеть, что протокол TCP/IP находится в статусе Enabled. Если он выключен, 1С не сможет подключиться к базе, даже если вы правильно указали все имена.

Во-вторых, обратим внимание на службу SQL Server Browser. Она должна быть запущена. Эта служба отвечает за то, чтобы внешние приложения могли находить именованные экземпляры SQL (такие как \SQLEXPRESS). Если служба остановлена, вам придется указывать статический порт в параметрах подключения, что усложняет настройку.

В-третьих, проверим настройки Брандмауэра Windows. Разберем стандартный набор портов, которые должны быть открыты для входящих соединений:

Настройка прав доступа и режима авторизации

Часто после исправления сетевых ошибок возникает следующая проблема: «Login failed for user Administrator» или «Login failed for user sa». Посмотрим, как правильно настроить безопасность на стороне SQL Server.

Проанализируем режим аутентификации. Для работы с 1С настоятельно рекомендуется использовать Mixed Mode (Смешанный режим). По умолчанию SQL Server часто устанавливается в режиме только Windows-авторизации. Чтобы это изменить, зайдем в SQL Server Management Studio (SSMS) под учетной записью администратора Windows, нажмем правой кнопкой на имя сервера, выберем Properties -> Security и установим переключатель на SQL Server and Windows Authentication mode.

После смены режима необходимо выполнить следующие действия в разделе Security -> Logins:

  1. Найдем пользователя sa.
  2. В его свойствах (Properties) зададим надежный пароль.
  3. В разделе Status убедимся, что Login установлен в Enabled.
  4. На вкладке Server Roles проверим наличие роли sysadmin.

Если вы создаете отдельного пользователя для 1С, как советуют опытные специалисты, убедитесь, что ему назначены роли dbcreator, public и processadmin. Это позволит 1С самостоятельно создавать файлы базы данных и управлять процессами.

Регистрация консоли администрирования 1С

Иногда при попытке настроить сервер через стандартную оснастку возникает ошибка «Консоли ММС не удалось создать оснастку». Это происходит из-за того, что в системе не зарегистрированы необходимые библиотеки (DLL). Выясним, как это исправить вручную.

Нам потребуется запустить командную строку от имени администратора и выполнить регистрацию библиотеки radmin.dll, которая находится в папке с установленной платформой. Пример команды для версии 8.3.15.1830:

regsvr32 "C:\Program Files\1cv8\8.3.15.1830\bin\radmin.dll"

После этого попробуем снова открыть «Администрирование серверов 1С Предприятия». Если список баз пуст («Отсутствуют элементы для отображения»), необходимо зарегистрировать центральный сервер. Нажмем правой кнопкой на «Центральные серверы» -> «Создать» и введем имя вашего компьютера.

Очистка серверного кэша и папки srvinfo

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

  1. Остановим службу 1C:Enterprise 8.3 Server Agent через панель services.msc.
  2. Перейдем в каталог, где хранятся настройки (по умолчанию это C:\Program Files\1cv8\srvinfo).
  3. Удалим все содержимое этой папки. Внимание: это приведет к удалению информации обо всех зарегистрированных на этом сервере базах (сами базы в SQL останутся, но их нужно будет прописывать в консоли заново).
  4. Запустим службу 1С заново. Папка srvinfo и конфигурационный файл 1cv8wsrv.lst будут созданы автоматически с чистыми настройками.

Устранение ошибки несоответствия национальных настроек

Финальным препятствием может стать ошибка: «Национальные настройки информационной базы не соответствуют настройкам БД». Это происходит из-за различия в параметре Collation (порядок сортировки) между SQL Server и требованиями 1С.

Разберем, как это работает: для корректной работы русской версии 1С сервер SQL должен иметь кодировку Cyrillic_General_CI_AS. Если при установке SQL Server вы оставили настройки по умолчанию (часто это SQL_Latin1_General_CP1_CI_AS), 1С не сможет корректно работать с данными.

Если база уже создана с «кривыми» настройками, попробуем следующий алгоритм:

  1. Создадим новую базу данных непосредственно через SQL Server Management Studio, явно указав Collation: Cyrillic_General_CI_AS в параметрах.
  2. В консоли 1С подключим эту базу как «существующую».
  3. Если проблема сохраняется на уровне всего сервера SQL, самым быстрым и надежным способом будет переустановка MS SQL Server с правильным выбором региональных стандартов на этапе инсталляции.

Подводя итог, отметим, что большинство проблем решается внимательным прочтением логов ошибки. Помните, что служба 1С должна запускаться под учетной записью с достаточными правами (лучше всего создать специального пользователя USR1CV8), а все сетевые имена должны резолвиться в IP-адреса без задержек. Следуя этим инструкциям, вы сможете успешно развернуть серверную инфраструктуру 1С.

← На главную