Строка подключения SQL Server Windows 7 и Windows 10 - поставщик имен и имен, ошибка 40 [дубликат]

109
задан Peter Mortensen 6 January 2013 в 12:27
поделиться

27 ответов

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

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

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

Screenshot of the steps [/g0]

89
ответ дан Ed Cottrell 22 August 2018 в 23:15
поделиться
  • 1
    Wow, студия управления не начнет мое обслуживание, даже если оно было настроено на автоматическое Спасибо – johnny 5 14 February 2017 в 04:17
  • 2
    Спасибо, это помогло. Будем ли я каждый раз приступать к сервису? Раньше я этого не делал. – naz786 5 June 2017 в 14:11
  • 3
    Что делать, если этих услуг нет? Я установил SQL Server 17. Я не вижу эту службу .... – Ciaran Gallagher 26 July 2017 в 18:33
  • 4

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

0
ответ дан Andy 22 August 2018 в 23:15
поделиться

Я предложил ниже шаги для решения вашей проблемы. Как исправить ошибку «Поставщик именованных труб», ошибка 40 - Не удалось открыть соединение с «SQL Server»

  1. Проверить работу Службы SQL Server Services или нет.
  2. Также проверьте работоспособность SQL Server (MSSQLSERVER).
  3. Также проверьте работоспособность SQL Server Browser.
  4. Удалите все предыдущие псевдонимы, теперь создавайте новые псевдонимы в соответствии с вашими требованиями.
  5. Теперь проверьте работу SQL Server Default Port 1433
  6. Затем нажмите «Клиентские протоколы» в экземпляре, затем нажмите «TCP» / IP, теперь щелкните правой кнопкой мыши правой кнопкой мыши, откройте «Свойство», здесь вы можете убедиться, что вы отлично работаете со своим стандартным портом SQL 1433.
  7. Откройте свою студию управления SQL Server, затем щелкните правой кнопкой мыши, нажмите «Свойство» », а затем нажмите вкладку« Подключения », а затем отметьте« Разрешить удаленные подключения к этому серверу ».
  8. Проверьте правильность работы или ваш IP-хост Ping.
0
ответ дан Anjan Kant 22 August 2018 в 23:15
поделиться

У меня есть еще одно решение, я думаю. Недавно я изменил имя своего компьютера, так что после того, как я попытался выполнить все вышеперечисленные методы, я не смог подключиться. Я изменил имя сервера. Имя сервера => (просмотреть больше) => под движком базы данных, новый сервер был найден таким же, как новое имя компьютера. Это сработало, и жизнь снова хороша.

0
ответ дан appstauq 22 August 2018 в 23:15
поделиться

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

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

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

Я проверил и проверил все ниже

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

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

3
ответ дан balu 22 August 2018 в 23:15
поделиться

Для меня это проблема с брандмауэром.

Сначала вам нужно добавить порт (например, 1444 и, возможно, 1434), но также

C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe

и

%ProgramFiles%\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\Binn\SQLAGENT.EXE

Во второй раз, когда я получил эту проблему, когда я вернулся к брандмауэру, пути были неправильными, и мне нужно было обновить форму с 12 по 13! Просто щелкнув по просмотру на вкладке «Программы и службы», это помогло понять.

Наконец, попробуйте запустить команду

EXEC xp_readerrorlog 0,1, "не удалось зарегистрировать Сервис Основное имя ", Null

Для меня это вызвало ошибку

0
ответ дан Dave 22 August 2018 в 23:15
поделиться

В моем случае я открыл SQL Server Management Studio и искал SQLEXPRESS в своем ядре базы данных. У него было два экземпляра, и я выбрал правильный.

0
ответ дан DivyaMenon 22 August 2018 в 23:15
поделиться

Я пробовал почти все на этой странице, но у меня были некоторые основные проблемы, которые были на самом деле тем, что нужно было решить. Я не смог выполнить определенные функции, такие как открытый диспетчер конфигурации SQL Server, который оказался коррумпированным / отсутствующим файлом поставщика WMI.

Существует множество утомительных способов решения этих проблем в соответствии с тем, что я прочитал, но инструмент от tweaking.com смог удалить и заменить / восстановить файлы поставщика WMI (Windows Management Instrumentation).

Я занимался ремонтом компьютера, и в целом инструмент tweaking.com действительно впечатлил меня, и это было предложено на одной из страниц форума ошибок WMI, на которые я пошел.

После того, как я исправил эту проблему, мне удалось подключиться к моему SQL db как локально, так и удаленно.

Hope это помогает кому-то.

0
ответ дан Elon Zito 22 August 2018 в 23:15
поделиться

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

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

5
ответ дан halloweenlv 22 August 2018 в 23:15
поделиться
  • 1
    К сожалению, сброс сервера исправил проблему и для меня. Все другие упомянутые предложения были предприняты безрезультатно. – MrShmee 7 June 2018 в 20:20

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

  • Неправильная строка соединения, например, с использованием SqlExpress
  • Именованные каналы (NP) не была включена на экземпляре SQL
  • Удаленное соединение не было включено
  • Сервер не запущен или не указывает на реальный сервер в вашей строке подключения
  • Другие причины, такие как неправильные контекст безопасности
  • попробуйте выполнить основные тесты подключения между двумя машинами, над которыми вы работаете
15
ответ дан James Jenkins 22 August 2018 в 23:15
поделиться
  • 1
    Прошел через них, к сожалению, это не помогло. :( – Damien 30 March 2012 в 19:00
  • 2
    Хорошо, это понятно. Оказывается, когда я установил сервер, я сделал именованный экземпляр. Вы не можете подключиться к именованному экземпляру так же, как и экземпляр по умолчанию. Итак, источник данных: localhost\name экземпляра, который работает. Все еще не удалось получить его с IP-адресом, но рад наконец подключиться. – Damien 30 March 2012 в 19:55
  • 3
    Рад слышать, но из любопытства вы можете подключиться к нему с помощью ip.ip.ip.ip/NamedInstance? – Khan 30 March 2012 в 19:57

У меня была та же проблема. Я использую MSSQL Server Management Studio 2017 и решил эту проблему, выполнив следующие шаги:

  1. Проверить работу работающих служб SQL Server Services или нет.
  2. Также проверить работу в хорошем состоянии условие SQL Server (MSSQLSERVER).
  3. Также проверьте работоспособность SQL Server Browser.
  4. Перезапустите SQL Server (MSSQLSERVER)

и зафиксируйте его .

2
ответ дан Murat 22 August 2018 в 23:15
поделиться

Проделайте следующие шаги:

  1. Откройте окно «Открытые службы» (откройте «run box» и введите services.msc).
  2. Поиск служб SQL (с префиксом SQL)
  3. Запустите их (если не удается запустить. Перейти к шагу 4).
  4. Right_click для каждой службы -> Свойства -> Изменить на вкладку «Вход» -> выбрать журнал в качестве " Local ... "-> 0K. Затем снова запустите службы SQL.

Попробуйте открыть SQL и подключить базу данных.

1
ответ дан Pang 22 August 2018 в 23:15
поделиться

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

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

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

68
ответ дан Peter Mortensen 22 August 2018 в 23:15
поделиться
  • 1
    У меня была проблема с OP, и оказалось, что мне не хватает информации о SERVER / INSTANCENAME (вместо этого там была точка). – LuxDie 15 March 2016 в 04:31
  • 2
    @LuxDie Где вы помещаете SERVER \ INSTANCENAME в и где он находится? – tom_mai78101 20 January 2017 в 17:35

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

  1. Включить именованные каналы SQL Config Manager -> SQL Server Network Consif -> Протоколы -> Именованные каналы -> Право -click -> Restart

  1. Перезапустить сервер SQL Config Manager -> Службы SQL Server -> SQL Сервер (SQLEXPRESS) -> Щелкните правой кнопкой мыши -> Перезапустить
  2. Используйте правильные имена серверов и экземпляров (оба необходимы!) Обычно это будет. \ SQLEXPRESS, например, см. Скриншот из диалогового окна QueryExpress .

Там у вас есть.

30
ответ дан Pompair 22 August 2018 в 23:15
поделиться

Очень простое решение

use (local) \ InstanceName, это it.it работает для меня.

0
ответ дан ProgrammingNinja 22 August 2018 в 23:15
поделиться

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

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

17
ответ дан rockz1 22 August 2018 в 23:15
поделиться

Я пытался добавить новое соединение в VS2015. Ни одно из предложений здесь не работало. Подозревая какую-то ошибку в волшебнике, тем более, что SSMS смог подключиться просто отлично, я решил попробовать и обмануть его. Это сработало!

  1. Вместо добавления соединения используйте «Создать новую базу данных SQL Server». Введите имя своего сервера и случайное имя для новой БД, например. «test».
  2. Предполагая, что это удается, откройте Server Explorer в VS, найдите соединение в Data Connections, щелкните его правой кнопкой мыши и выберите «Modify Connection».
  3. Измените «test» (from шаг 1) к имени существующей базы данных, к которой вы хотите подключиться. Нажмите «Проверить соединение». На этот раз это должно сработать!
  4. Удалить временную базу данных, созданную на шаге 1.
0
ответ дан Roman Starkov 22 August 2018 в 23:15
поделиться

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

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

я обеспечил и сделал все это, и я просто хочу поделиться, что DOUBLE BACKSLASH

oBuilder.DataSource = "SPECIFICPCNAME \ SQLEXPRESS ";

Использование SINGLE BACKSLASH приведено в результате ошибки сборки, т.е.: Ошибка 1 Неизвестная escape-последовательность

Надеюсь, это поможет следующему парню - я пожертвовал ужином, полуночной закуской и НБА выделяет время, решающее это (позор)

Благодаря [Tamizh venthan] ^ _ ^

0
ответ дан Ronan Masangcay 22 August 2018 в 23:15
поделиться

i Только что включенный TCP / IP, VIA, именованные каналы в диспетчере конфигурации сервера Sql, моя проблема решена, см. это для получения дополнительной информации Устранение именованных труб Ошибка 40

9
ответ дан Samanth 22 August 2018 в 23:15
поделиться

Скорее всего, ваше имя БД неверно, вы увидите имя сервера в VS, как «DESKTOP-0I14BKI», но если вы откроете SSMS, вы увидите DESKTOP-0I14BKI \ SQLBLAHBLAH , просто добавьте « \ SQLBLAHBLAH » (имя экземпляра) к вашему «имени сервера» в свойствах VS-соединения.

Вы увидите:

To Fix:

0
ответ дан scott 22 August 2018 в 23:15
поделиться

У меня была эта проблема, но ни одно из предложений не было исправлено.

Я видел эту проблему, когда я развернул свой сайт в IIS. Исправление заключалось в том, чтобы перейти к дополнительным настройкам против пула приложений по умолчанию и изменить свойство идентификации по умолчанию на «Администратор».

0
ответ дан Ste Brown 22 August 2018 в 23:15
поделиться

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

7
ответ дан Tamizh venthan 22 August 2018 в 23:15
поделиться
  • 1
    Этот тоже работал для меня, но может ли кто-нибудь сказать мне, почему это сработало? – GWR 18 February 2016 в 18:17
  • 2
    Я бы сказал, что строка экранируется, но зависит от контекста – mizuki nakeshu 30 June 2016 в 16:29

Спасибо Damian ...

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

Web Config .... (для localhost)

<add name="FooData" connectionString="Data Source=localhost\InstanceName;Initial Catalog=DatabaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
5
ответ дан Terri 22 August 2018 в 23:15
поделиться

У меня была та же проблема, и я решил эту проблему, отключив мой брандмауэр (ESET).

Первым шагом для решения этой проблемы должно быть попытка выполнить проверку вашего собственного компьютера с другого компьютера. Если у вас включен брандмауэр, возможно, вы не сможете выполнить ping. Я попробовал pinging мой собственный компьютер, тогда ping был неудачен (не получил ответ от сервера)

0
ответ дан Uğur Gümüşhan 22 August 2018 в 23:15
поделиться

После выполнения всех шагов, упомянутых здесь здесь , если он все еще не подключен, попробуйте добавить DNS с IP-адресом в файл hosts в папке etc. Добавление IP-адреса вместо имени DNS в строке подключения должно быть временным решением, чтобы проверить, действительно ли соединение работает.

0
ответ дан user3307830 22 August 2018 в 23:15
поделиться

Включите TCP / Ip, Piped Protocol, перейдя в «Управление компьютером» -> «SQL» и «Службы», убедитесь, что служба включена. Включите порт на брандмауэре. Попробуйте войти в систему через командную строку -> в качестве администратора; последнее имя пользователя должно быть (локальным) \ SQLEXPRESS. Надеюсь, это поможет.

0
ответ дан VaishB 22 August 2018 в 23:15
поделиться

Открыть диспетчер конфигурации SQL Server

  1. Выбрать службы SQL Server справа.
  2. Найти свой сервер справа и перейти к его свойствам (щелчком правой кнопки мыши)
  3. Измените метод регистрации на локальную систему.

enter image description here [/g0]

enter image description here [/g1]

0
ответ дан zapoo 22 August 2018 в 23:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: