Настройка MS SQL Express для доступа из локальной сети

  • Михаил
  • 12 мин. на прочтение
  • 49
  • 13 Oct 2022
  • 13 Oct 2022

В процессе разворачивания одного специфичного ПО, потребовалась база данных под управлением СУБД MS SQL Express.
Вроде бы все просто: создал базу, создал пользователя, вбил ip и радуйся? но мне пришлось все-таки немного потанцевать с бубном, т.к. ПО отказывалась принимать мой сервер БД.
Перепроверил все права доступа, пароли, файрволлы и т.п., все как бы хорошо через ODBC подключается и работает отлично, а при подключении ПО не работает.
Проблема, как оказалось, в конфигурации портов MS SQL Server. Об этом мне сказал netstat.
Как я понял, по умолчанию, в MS SQL вместо статического порта 1433 указан диапазон динамических портов. Для чего это сделано, точно не скажу, военная тайна Microsoft.
Лечится это все дело быстро и безболезненно:

  1. запускаем SQL Server Configuration Manager
  2. открываем ветку SQL Server 2005 Network Configuration
  3. заходим в Protocols -> TCP/IP (статус должен быть — Enabled)
  4. правый клик по TCP/IP -> Properties
  5. переходим на вкладку IP Addresses и опускаемся в самый низ
  6. удаляем все что написано в поле TCP Dynamic Ports и оставляем поле пустым, а в TCP Port пишем 1433, что бы получилось вот так:
  7. перезапускаем службы MS SQL Server
  8. проверяем, что у нас получилось, с помощью команды netstat -an, среди всего прочего, там должно быть что-то такое: