Материал просмотрен 264 раз(а)

Не буду утверждать, что всё понял и разобрался. Проблема была такая. Не стартовал Microsoft SQL Server, выдавая ошибку в логе:

Error: 17182, Severity: 16, State: 1.
TDSSNIClient initialization failed with error 0x7e, status code 0x60

Error: 17182, Severity: 16, State: 1.
TDSSNIClient initialization failed with error 0x7e, status code 0x1

Error: 17826, Severity: 18, State: 3.
Could not start the network library because of an internal error in the network library. To determine the cause, review the
errors immediately preceding this one in the error log.

Error: 17120, Severity: 16, State: 1.
SQL Server could not spawn FRunCM thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.

IMAG1413

Фотки сделаны на телефон. Увы, качество не очень хорошее.IMAG1412

Всё осложнялось тем, что ситуация развёрнута была на кластере с двумя нодами. Интернета под рукой не было, только едва дышащий GPRS в телефоне. Нагуглил то, что нужно отключить неиспользуемые(?) протоколы в оснастке SQL Server.

Запускаю SQL Server Configuration Manager, перехожу в ветку SQL Server 2005 Network Configuration, там ищу Protocols for MSSQLSERVER.

Видим 4 вида взаимодействия:

  • Shared memory – Общая память;
  • Named Pipes – Именованные каналы;
  • TCP/IP – Сетевой стек;
  • VIA – мне неизвестный тип, какие-то виртуальные каналы.

Вот этот VIA и нужно отключить. Отключаю (правый клик – Disable). Запускаю из этой же консоли (SQL Server 2005 Services) – кликом на MSSQLSERVICE, жму старт – нифига. Ошибка, что сервер не ответил вовремя. Перехожу вновь на страницу с 4-мя типами взаимодействия – а там VIA включен. Это меня поразило.

Ладно, отключаю снова. Запускаю в командной строке:

> "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlserver.exe -sMSSQLSERVER"

После недолгого мелькания строк – тишина в терминале. Смотрю процессы – SQLServer запущен! Глушу по Ctrl+C, Yes.

VIA снова запустился. Отключаю повторно. На сей раз запускаю сервер из раздела Администрирование – Службы – MSSQLServer.

Сервер стартанул!

Обновляю окно в SQL Server Configuration Manager -> SQL Server 2005 Service. Там он зажегся зелененьким.
image44

(скрин не мой, просто для наглядности)

Перехожу в оснастку управления кластером, жму “Перевести в оперативный режим”. Нода подключилась и сервер запустился. Всё заработало. Правда мне непонятна такая проблема с этим VIA и как его отключить перманентно.

Находил в реестре раздел HKLM\Cluster\…. там где SQL Server, ничего про это нет. На ноде, откуда стартует SQL сервер, в реестре находил раздел “…supersocket…” в ветке SQL сервера. Там все эти 4 протокола описаны. И у каждого в разделе Enabled стоит 1. Ставил 0 в VIA, но оно снова возвращается в 1.