Как устранить ошибку «Сервер баз данных не обнаружен» при создании базы 1С на MS SQL Server?

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

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

Разбираем причину: Именованные экземпляры против портов по умолчанию

Основная причина, по которой 1С выдает ошибку при указании адреса localhost, заключается в архитектуре установки MS SQL Server. В отличие от полнофункциональных версий, редакция Express при установке почти всегда создает так называемый «именованный экземпляр» (Named Instance). По умолчанию он называется SQLEXPRESS.

Проанализируем ситуацию: стандартный экземпляр MS SQL Server слушает входящие соединения на TCP-порту 1433. Именованные же экземпляры по умолчанию используют динамические порты. Это означает, что при каждом перезапуске службы SQL-сервер может занимать новый порт (например, 57951, как в рассматриваемом примере). Платформа 1С, пытаясь подключиться просто по адресу localhost, ищет сервер на стандартном порту 1433 и, не находя его, возвращает ошибку.

Решение №1: Правильное указание имени сервера в консоли 1С

Самый простой и быстрый способ решить проблему — указать платформе точный путь к экземпляру базы данных. Вместо простого сетевого имени сервера или IP-адреса, необходимо использовать формат ИмяСервера\ИмяЭкземпляра.

Рассмотрим, как это выглядит на практике при создании информационной базы:

  1. В поле «Сервер баз данных» введите LOCALHOST\SQLEXPRESS (или ИмяВашегоПК\SQLEXPRESS).
  2. Убедитесь, что вы используете тип СУБД MS SQL Server.
  3. Проверьте, что в параметрах указан пользователь sa (системный администратор SQL) и его корректный пароль.

Важно: Если 1С и SQL Server находятся на одном физическом сервере, использование localhost допустимо, но при условии указания правильного экземпляра.

Решение №2: Настройка сетевых протоколов и службы Browser

Даже если имя указано верно, подключение может блокироваться настройками самого SQL Server. Разберем по шагам, что нужно включить в SQL Server Configuration Manager:

  1. Откройте оснастку управления конфигурацией SQL Server.
  2. Перейдите в раздел SQL Server Network Configuration -> Protocols for SQLEXPRESS.
  3. Найдите протокол TCP/IP. По умолчанию в версии Express он часто отключен (Disabled). Нажмите правой кнопкой мыши и выберите Enable.
  4. Перейдите в раздел SQL Server Services и найдите службу SQL Server Browser.
  5. Эта служба критически важна для работы с именованными экземплярами. Она «подсказывает» клиенту (платформе 1С), на каком именно динамическом порту сейчас работает ваш SQLEXPRESS. Установите тип запуска Automatic и запустите службу.

После включения протокола TCP/IP обязательно перезапустите основную службу SQL Server (MSSQL$SQLEXPRESS), чтобы изменения вступили в силу.

Решение №3: Фиксация статического порта

Для более стабильной работы в корпоративной среде администраторы часто отказываются от динамических портов в пользу статического порта 1433. Это избавляет от необходимости держать запущенной службу Browser и упрощает настройку брандмауэра.

Выясним, как это настроить:

  1. В настройках протокола TCP/IP (в Configuration Manager) откройте вкладку IP Addresses.
  2. Прокрутите список до самого низа к разделу IPAll.
  3. Полностью очистите поле TCP Dynamic Ports (удалите даже «0»).
  4. В поле TCP Port введите значение 1433.

Теперь ваш SQL Express будет доступен просто по имени сервера (или IP), как если бы это была Full-версия.

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

Часто проблема кроется не в сетевой доступности, а в правах доступа. 1С требует возможности создавать базы данных и управлять ими. Проанализируем настройки безопасности в SQL Server Management Studio (SSMS):

Во-первых, проверьте режим проверки подлинности. Нажмите правой кнопкой на корень сервера в SSMS -> Properties -> Security. Должен быть выбран режим SQL Server and Windows Authentication mode (так называемый Mixed Mode). Если вы изменили этот параметр, потребуется перезапуск службы SQL.

Во-вторых, убедитесь, что учетная запись sa активна:


-- Пример SQL-запроса для проверки и включения пользователя sa
ALTER LOGIN sa ENABLE;
GO
ALTER LOGIN sa WITH PASSWORD = 'ВашСложныйПароль';
GO

Если вы создаете базу не под sa, а под другим пользователем, у него должна быть роль dbcreator или sysadmin на уровне сервера.

Проверка параметров сортировки (Collation)

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

Для корректной работы с кириллицей платформа 1С требует кодировку Cyrillic_General_CI_AS. Проверить текущую настройку можно командой:

SELECT SERVERPROPERTY('Collation');

Если кодировка отличается, наиболее надежным способом будет переустановка SQL Server с правильным выбором региональных настроек, так как изменение Collation на живом сервере — процедура крайне трудоемкая и рискованная.

Диагностика с помощью командной строки

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

netstat -ano | findstr :1433

Если команда ничего не возвращает, значит сервер не слушает стандартный порт. Если же вы используете динамический порт, проверьте его наличие в списке LISTENING. Также полезно проверить доступность порта с помощью команды PowerShell:

Test-NetConnection -ComputerName localhost -Port 1433

Эта проверка позволит точно понять, блокирует ли соединение брандмауэр Windows или проблема в настройках самой СУБД.

Итоги

Мы рассмотрели основные причины ошибки «Сервер баз данных не обнаружен». В большинстве случаев для версии Express достаточно указать путь ИмяСервера\SQLEXPRESS и убедиться, что служба SQL Server Browser запущена, а протокол TCP/IP включен. Соблюдение этих простых правил обеспечит надежную связь между сервером приложений 1С и базой данных SQL. Для комплексной проверки параметров созданной базы и конфигурации СУБД под требования платформы можно использовать обработку для чек-апа настроек СУБД под 1С.

← На главную