Настройка MS SQL Express для доступа из локальной сети
В процессе разворачивания одного специфичного ПО, потребовалась база данных под управлением СУБД MS SQL Express.
Вроде бы все просто: создал базу, создал пользователя, вбил ip и радуйся? но мне пришлось все-таки немного потанцевать с бубном, т.к. ПО отказывалась принимать мой сервер БД.
Перепроверил все права доступа, пароли, файрволлы и т.п., все как бы хорошо через ODBC подключается и работает отлично, а при подключении ПО не работает.
Проблема, как оказалось, в конфигурации портов MS SQL Server. Об этом мне сказал netstat.
Как я понял, по умолчанию, в MS SQL вместо статического порта 1433 указан диапазон динамических портов. Для чего это сделано, точно не скажу, военная тайна Microsoft.
Лечится это все дело быстро и безболезненно:
- запускаем SQL Server Configuration Manager
- открываем ветку SQL Server 2005 Network Configuration
- заходим в Protocols -> TCP/IP (статус должен быть — Enabled)
- правый клик по TCP/IP -> Properties
- переходим на вкладку IP Addresses и опускаемся в самый низ
- удаляем все что написано в поле TCP Dynamic Ports и оставляем поле пустым, а в TCP Port пишем 1433, что бы получилось вот так:
- перезапускаем службы MS SQL Server
- проверяем, что у нас получилось, с помощью команды netstat -an, среди всего прочего, там должно быть что-то такое:
Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.