Поставщик именованных каналов, ошибка: 40 — Не удалось открыть соединение с SQL Server?

В нашем проекте пользователь использует NHibernate 2.1.1 с SQL Server 2008 с .net 3.5.

Я столкнулся со странной проблемой с SQL Server. Мы разработали службу Windows, установили ее, и какое-то время она работала нормально. К сожалению, по ошибке, когда я остановил SQL Server, NHibernate выдает исключение

System.Data.SqlClient.SqlException: при установлении соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен на разрешение удаленных подключений. (поставщик: поставщик именованных каналов, ошибка: 40 — не удалось открыть соединение с SQL Server)

Но после перезапуска SQL Server он не может подключиться к SQL Server, по-прежнему выдает ту же ошибку. Но я могу подключить SQL Server через Query Analyzer/Management Studio.

Пожалуйста, любой орган может помочь мне в решении проблемы?

Спасибо

нРК


comment
Использует ли анализатор/студия поставщик *named pipe?   -  person Alex K.    schedule 25.06.2010
comment
НЕТ. он использует протокол по умолчанию.   -  person nRk    schedule 25.06.2010


Ответы (5)


Перейдите в \Start Menu\Programs\Microsoft SQL Server 2008\Configuration Tools, запустите диспетчер конфигурации SQL Server и включите необходимые протоколы подключения.

person Matteo Mosca    schedule 25.06.2010
comment
Все необходимые протоколы включены. Но раньше работало нормально, после перезагрузки только выдавало проблемы... Почему так произошло..? - person nRk; 25.06.2010

Я знаю, что вы уже ответили, но я получил ту же ошибку, но решение было другим, может быть, это поможет кому-то еще.

Когда я настраивал ASP.Net для хранения переменных сеанса в БД, я получил ту же ошибку.

поставщик: поставщик именованных каналов, ошибка: 40 — не удалось открыть соединение с SQL Server

Причина моей проблемы заключалась в том, что базу данных нельзя было найти на сервере SQL, к которому я подключался. Как только я правильно создал базу данных, все заработало правильно.

Учитывая причину проблемы, я ожидал сообщения об ошибке

поставщик: Сетевые интерфейсы SQL, ошибка: 26 - Ошибка при обнаружении указанного сервера/экземпляра

person TheLukeMcCarthy    schedule 26.08.2011

проверьте следующее: (а) Сначала убедитесь, что служба базы данных этого экземпляра работает... используйте Диспетчер конфигураций (б) если служба запущена, проверьте, является ли этот экземпляр именованным. в этом случае работает служба браузера SQL Server. (c) Проверьте, включено ли удаленное подключение для локального и удаленного подключения с использованием TCP/IP -- используйте инструмент настройки контактной зоны SQL Server для просмотра и настройки (d) Проверьте, включены ли все протоколы -- используйте диспетчер конфигурации SQL -- SQL Конфигурация сети сервера -- Протокол для MSSQLSERVER -- Включить TCP/IP и NamedPipe

person satish Reddy    schedule 14.02.2014

Мне пришлось «прокрутить вниз и установить TCP-порт в IPAll (по умолчанию 1433)», как указано в этом ответе.

Как сделать MS SQL Server доступным для подключений?< /а>

person Matthew Lock    schedule 10.03.2014

В программе Sql Server Configuration Manager запустите SQL SERVER, включите соединение TCP/IP. При необходимости разрешите порт в брандмауэре.

person Ema.H    schedule 21.10.2015