Как исправить ошибку «Поставщик именованных каналов», ошибка 40 - Не удалось открыть соединение с «SQL Server»? - PullRequest
129 голосов
/ 30 марта 2012

Я не могу подключиться к моей базе данных с сайта.Я получаю эту ошибку:

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

Я также попытался использовать локальный IP-адрес для подключениякак публичный.Я пробовал:

  1. Да, сайт может взаимодействовать с сервером
  2. Именованные каналы / TCP включен.
  3. Удаленные подключения разрешены.
  4. Брандмауэр Windows выключен
  5. Создано исключение для порта 1433 в брандмауэре Windows.
  6. Включено все в диспетчере конфигурации SQL Server.

Что еще я могу сделать здесь?

Ответы [ 30 ]

105 голосов
/ 03 января 2016

Решить эту проблему очень просто:

  1. Перейти к панели управления.
  2. поиск услуг.
  3. Открыть окно локальных услуг из результатов поиска
  4. Перезапустите службу MSSQLSERVER.

Снимок экрана с шагами:

Screenshot of the steps

75 голосов
/ 13 ноября 2012

И самое простое решение - проверить, вернулся ли ваш слеш ...

Я потратил около часа, пытаясь выяснить, что не так с SERVER / INSTANCENAME , когда все настроено правильно,именованные каналы, права доступа пользователя ... и вдруг меня поразило, это не косая черта, это обратная косая черта (\).

Ужас, позор ...

38 голосов
/ 24 октября 2015

Это действительно трехэтапный процесс после установки SQL Server:

  1. Включить именованные каналы Диспетчер конфигурации SQL -> Сетевой консоль SQL Server -> Протоколы -> Именованные каналы -> Щелкните правой кнопкой мыши -> Перезагрузить

named pipes enabled

  1. Перезагрузите сервер Диспетчер конфигурации SQL -> Службы SQL Server -> SQL Server (SQLEXPRESS) -> Щелкните правой кнопкой мыши -> Перезагрузить

  2. Используйте правильные имена серверов и экземпляров (оба необходимы!) Обычно это будет . \ SQLEXPRESS , например, смотрите скриншот из диалога подключения QueryExpress.

enter image description here

Вот, пожалуйста.

18 голосов
/ 13 марта 2014

Я только что установил разработчик SQL SERVER 2012. Когда я создавал свой первый пакет служб SSIS, я получил эту ошибку каналов, когда пытался создать задачу подключения к данным в средствах данных SQL Server 2012 в окне диспетчера подключений. Я решил с помощью поста выше.

Если выбрать именованный экземпляр, и вы называете его именованным экземпляром SSQDatabase1, а имя вашего компьютера - PCX1. Вы должны ввести PCX1 \ SSQDatabase1, а не просто SSQDatabase1 или вы получите ошибку именованных каналов.

15 голосов
/ 30 марта 2012

Поток в MSDN Social, Re: поставщик именованных каналов, ошибка: 40 - Не удалось открыть соединение с SQL Server , имеется довольно приличный список возможных проблем связано с вашей ошибкой. Возможно, вы захотите узнать, может ли кто-то из них испытать то, что вы испытываете.

  • Неверная строка подключения, например, при использовании SqlExpress
  • Именованные каналы (NP) не были включены в экземпляре SQL
  • Удаленное соединение не было включено
  • Сервер не запущен или указывает на ненастоящий сервер в строке подключения
  • Другие причины, такие как неправильный контекст безопасности
  • попробуйте базовые тесты соединения между двумя компьютерами, на которых вы работаете
9 голосов
/ 02 сентября 2015

Я только что включил TCP / IP, VIA, Именованные каналы в Sql Server Configuration Manager, Моя проблема была решена, обратитесь за дополнительной информацией Устранение ошибки именованных каналов 40

7 голосов
/ 11 сентября 2013

Использование SERVER \\ INSTANCE NAME . Использование двойной обратной косой черты в моем проекте решило мою проблему.

5 голосов
/ 31 декабря 2013

Благодаря Дамиану ...

Именованные каналы TCP / IP ... оба включены

Web Config .... (для локального хоста)

<add name="FooData" connectionString="Data Source=localhost\InstanceName;Initial Catalog=DatabaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
5 голосов
/ 16 января 2014

Была такая же проблема.Потратил около 6 часов, когда пришлось перенести несколько серверов.Перепробовал все предложения по этой теме и др.

Решение было так же просто, как перезагрузить сервер!

3 голосов
/ 19 декабря 2014

в моем случае у меня был автономный сервер, я изменил порт по умолчанию для порта сервера sql 1433 в диспетчере конфигурации на какое-то число и перезапустил службу sql serve для вступления в силу, я смог подключиться к серверу sql через Management Studioесли я войду на сервер.но я не смог подключиться с моего локального компьютера через сервер sql, я получал сообщение об ошибке:

При установлении соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром.Сервер не найден или не был доступен.Убедитесь, что имя экземпляра указано правильно и

, что SQL Server настроен для разрешения удаленных подключений.(поставщик: поставщик именованных каналов, ошибка: 40 - не удалось открыть соединение с SQL Server) (Microsoft SQL Server, ошибка: 5)

Я проверил и подтвердил все перечисленные ниже

-Имен.трубы / TCP включен.-Дистанционные соединения разрешены.-Брандмауэр Windows выключен -Создано исключение для портирования брандмауэра Windows (в моем случае это не было необходимо, так как сервер находится в той же сети подсети).-Включил все в диспетчере конфигурации SQL Server.

, затем я вернул номер порта по умолчанию к 1433 и перезапустил службу сервера sql, и проблема была решена, и я могу подключиться к серверу sql из моего локального управлениястудия.

...