Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 служба sql server не запускается так как занят порт  [new]
Greedy
Member

Откуда:
Сообщений: 143
Здравствуйте!
Помогите разобраться, ситуация следующая: после перезагрузки компа не стартует служба sql сервера(2008 R2 Express), в логах windows(7-ка) записи:

Сервер прослушивает [ 'any' <ipv6> 49172]"

"TCP-поставщику сервера не удалось прослушать [ 'any' <ipv4> 49172]. TCP-порт уже используется"

"Не удалось инициализировать TDSSNIClient. Ошибка 0x2740, код состояния 0xa. Причина: Не удалось инициализировать 
прослушиватель TCP/IP. Обычно разрешается только одно использование адреса сокета (протокол/сетевой адрес/порт)."

...

"SQL Server не удалось создать поток FRunCM. Просмотрите журнал ошибок SQL Server и журналы событий Windows и 
попытайтесь найти сведения о похожих проблемах."


1) Проверку занятых портов проводил: "netstat –ano" не показывает, что этот порт кем-то занят(?!).
2) в сетевых интерфейсах винды IPV6 отключен(но похоже это не мешает серверу слушать по этому протоколу)
3) при изменении в протоколах сервера порта на другой - служба замечательно запускается, если опять установить первоначальный порт - не запускается!

Раньше помогала перезагрузка или отключение/включение сетевого интерфейса, сейчас только смена номера порта, перезагрузка и снова смена порта в протоколах на первоначальный.

Вопрос: кто виноват и что делать?

Спасибо!
2 июл 14, 11:46    [16247841]     Ответить | Цитировать Сообщить модератору
 Re: служба sql server не запускается так как занят порт  [new]
Glory
Member

Откуда:
Сообщений: 104751
Greedy
1) Проверку занятых портов проводил: "netstat –ano" не показывает, что этот порт кем-то занят(?!).

И после этого получаете ошибку при запуске сервера ?
2 июл 14, 11:52    [16247876]     Ответить | Цитировать Сообщить модератору
 Re: служба sql server не запускается так как занят порт  [new]
Greedy
Member

Откуда:
Сообщений: 143
Да, сервис не стартует и в логах тот же список сообщений.
2 июл 14, 14:16    [16249157]     Ответить | Цитировать Сообщить модератору
 Re: служба sql server не запускается так как занят порт  [new]
Glory
Member

Откуда:
Сообщений: 104751
Greedy
Да, сервис не стартует и в логах тот же список сообщений.

Еще раз уточню
Вы на консоли сервера
- запускаете netstat
- в этом же commandprompt сразу же запускаете службу сервера ?
2 июл 14, 14:19    [16249186]     Ответить | Цитировать Сообщить модератору
 Re: служба sql server не запускается так как занят порт  [new]
Greedy
Member

Откуда:
Сообщений: 143
Не совсем понял, конечно, но последовательность такая:
1) комп перезагружается, после чего соединения к SQL-серверу не устанавливаются
2) лезу в панель управления/службы и убеждаюсь, что служба сервера не запущена
3) лезу в логи винды - там вышеприведенный список сообщений, что порт уже занят и тд
4) запускаю "netstat –ano" - смотрю в результатах - НИГДЕ нет порта 49172(если, допустим, сменить порт и запустить службу
, то в результатах "netstat –ano" можно увидеть, что порт кем-то слушается).
5) думаю может я дурак и "netstat –ano" что-то не то показывает и запускаю диспетчер задач/монитор ресурсов/сеть - там тоже
нигде порт 49172 не указан.
6) приступаем к "танцам с бубнами" с заменой портов, перезапуском и снова заменяем порт - занавес.
3 июл 14, 09:50    [16252943]     Ответить | Цитировать Сообщить модератору
 Re: служба sql server не запускается так как занят порт  [new]
Glory
Member

Откуда:
Сообщений: 104751
Т.е. вы узнаете, что порт не занят уже после попытки запуска сервера ?
А не сначала проверяете, что порт не занят, а потом запускаете сервер ?
3 июл 14, 11:31    [16253679]     Ответить | Цитировать Сообщить модератору
 Re: служба sql server не запускается так как занят порт  [new]
Greedy
Member

Откуда:
Сообщений: 143
Да, конечно! Так как ошибка с портом и последующая невозможность запустить службу SQL-сервера происходит не всегда, а примерно в 80% случаев перезагрузки компа(вот сегодня то ли электричество ночью отрубали, то ли доменные политики какие отработали - служба SQL-сервера запустилась нормально (служба стартует в автоматическом режиме)), то выяснять причину начинаю после того как не заработало.
3 июл 14, 11:48    [16253827]     Ответить | Цитировать Сообщить модератору
 Re: служба sql server не запускается так как занят порт  [new]
Glory
Member

Откуда:
Сообщений: 104751
Greedy
Да, конечно!

Т.е. на самом деле вы ничего не знаете о состоянии порта именно в момент запуска службы сервера ?
3 июл 14, 11:51    [16253843]     Ответить | Цитировать Сообщить модератору
 Re: служба sql server не запускается так как занят порт  [new]
Greedy
Member

Откуда:
Сообщений: 143
Да, ничего не знаю. Я вполне допускаю, что порт может быть занят каким то другим приложением, но почему факт занятия не показывает netstat? Кстати, хорошая мысль...попробовать отрубить сервак и поперезагружать и проверить кто на порту сидит...хотя опять же...netstat должен показывать занятые порты
3 июл 14, 12:11    [16253987]     Ответить | Цитировать Сообщить модератору
 Re: служба sql server не запускается так как занят порт  [new]
Glory
Member

Откуда:
Сообщений: 104751
Greedy
Я вполне допускаю, что порт может быть занят каким то другим приложением, но почему факт занятия не показывает netstat?

Потому что вы проверяете порт позже, а не в момент запуска mssql
3 июл 14, 12:13    [16253998]     Ответить | Цитировать Сообщить модератору
 Re: служба sql server не запускается так как занят порт  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
Greedy
6) приступаем к "танцам с бубнами" с заменой портов, перезапуском и снова заменяем порт - занавес.
Во время загрузки ОС службы запускаются асинхронно. Поэтому вполне возможно нарваться на используемый порт. Почему не пользуетесь динамическими портами?
3 июл 14, 12:51    [16254252]     Ответить | Цитировать Сообщить модератору
 Re: служба sql server не запускается так как занят порт  [new]
Greedy
Member

Откуда:
Сообщений: 143
Динамические не катят, потому как сервак за роутером с проброшенным портом. Да и по разным вумным статейкам запуск SQL-браузера не есть гуд в целях безопасности чего-то там.

Поэксперементировал сейчас с перезагрузками компа:

1) Если отрубить автозапуск служб "SQL Server" и "SQL Full-text Filter Daemon Launcher" , то при запуске вручную после перезагрузки компа, если сначала стартануть "SQL Server", а затем "SQL Full-text Filter Daemon Launcher", то второй не хочет запускаться(в лог винды ничего не пишет или я не дождался пока запишет), но при вызове по правой кнопке Свойства-Перезапуск "SQL Full-text Filter Daemon Launcher" все таки стартует.
2) Если установить автозапуск для обоих служб из пункта 1), то лаунчер стартует, а сервер - нет, и в логах те же сообщения про занятый порт, netstat так же показывает, что порт НЕ занят.

Не знаю, что изменилось, но во время экспериментов службу SQL-сервера всегда удавалось запустить вручную без манипуляций с портами.

ЗЫ: в 90% случаев необходимость в перезагрузке возникала по причине автоматической установки различных обновлений.
3 июл 14, 15:15    [16255424]     Ответить | Цитировать Сообщить модератору
 Re: служба sql server не запускается так как занят порт  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
Greedy
Динамические не катят, потому как сервак за роутером с проброшенным портом. Да и по разным вумным статейкам запуск SQL-браузера не есть гуд в целях безопасности чего-то там.
Можно посадить на дефолтный 1433.
Можно выбрать любой из well-known портов, если точно известно что соответствующих служб на сервере не будет, а на роутере порт оставить неизменным.
3 июл 14, 15:32    [16255579]     Ответить | Цитировать Сообщить модератору
 Re: служба sql server не запускается так как занят порт  [new]
Greedy
Member

Откуда:
Сообщений: 143
1433 - слишком "дефолтный", помнится касперский постоянно орал, что кто-то ломится на этот порт, хотя никакого сервака и не было установлено вообще.

Если уж совсем все упрётся в номер порта, то можно будет и поменять, но, во-первых, этот косяк вылезает на тестовом сервере, поэтому это больше неудобно, чем критично, а во-вторых, не выяснив причину менять порт не совсем верно.
3 июл 14, 15:49    [16255712]     Ответить | Цитировать Сообщить модератору
 Re: служба sql server не запускается так как занят порт  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
Greedy
не выяснив причину менять порт не совсем верно.
Причина и так ясна - вы назначаете статический порт из динамического диапазона ( > 49151).
3 июл 14, 15:53    [16255746]     Ответить | Цитировать Сообщить модератору
 Re: служба sql server не запускается так как занят порт  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
Greedy
1433 - слишком "дефолтный", помнится касперский постоянно орал, что кто-то ломится на этот порт, хотя никакого сервака и не было установлено вообще.
Ну и повторюсь - совершенно необязательно делать порт на сервере и порт на роутере одинаковыми.
3 июл 14, 15:56    [16255772]     Ответить | Цитировать Сообщить модератору
 Re: служба sql server не запускается так как занят порт  [new]
Greedy
Member

Откуда:
Сообщений: 143
Вопрос не про номер порта и его занятость - это понятно из текста лога винды. Вопрос больше про то, как вычислить эту гадину(занимающую порт во время старта службы SQL-сервера) и придушить ее :))
3 июл 14, 16:21    [16255958]     Ответить | Цитировать Сообщить модератору
 Re: служба sql server не запускается так как занят порт  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
Greedy
и придушить ее :))
Мда...
Выделить порт из диапазона статических номеров. Иначе душить придется всех.
3 июл 14, 16:28    [16256007]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить