Я не могу подключиться к моей базе данных с сайта. Я получаю эту ошибку:
Поставщик именованных каналов, ошибка: 40 - Не удалось открыть соединение с SQL Server
Я попытался использовать локальный IP-адрес для подключения, а также общедоступный. Я пробовал:
- Да, сайт может общаться с сервером
- Именованные каналы / TCP включен.
- Удаленные подключения разрешены.
- Брандмауэр Windows выключен
- Создано исключение для порта 1433 в брандмауэре Windows.
- Включено все в диспетчере конфигурации SQL Server.
Что еще я могу сделать здесь?
Ответы:
Решить эту проблему очень легко:
Скриншот шагов:
источник
И самое простое решение - проверить, вернулся ли ваш слеш ...
Я потратил около часа, пытаясь выяснить, что не так с SERVER / INSTANCENAME, когда все настроено правильно, именованные каналы, права доступа пользователя ... и вдруг меня поразило, это не косая черта, это обратная косая черта (
\
).Ужас, позор ...
источник
Server=MyServerName\DOLPHIN=Trusted_Connection=True;Database=DolphinPlatform
в процессе разработки (C #) я подключался к локально установленному серверу MSSQL 2017, но когда я приступил к его развертыванию, удаленный сервер, установленный поставщиком программного обеспечения, работал какInstance
. Я продолжал думать, что это была проблема аутентификации, потому что она работала как служба или что-то еще, пока я не нашел это.Это действительно трехэтапный процесс после установки SQL Server:
Перезапустите сервер Диспетчер конфигурации SQL -> Службы SQL Server -> SQL Server (SQLEXPRESS) -> Щелкните правой кнопкой мыши -> Перезагрузить
Используйте правильные имена серверов и экземпляров (оба необходимы!) Обычно это будет . \ SQLEXPRESS , например, смотрите скриншот из диалога подключения QueryExpress.
Там у вас есть это.
источник
Я только что установил SQL SERVER 2012 разработчика. Когда я создавал свой первый пакет служб SSIS, я получал эту ошибку каналов, когда пытался создать задачу подключения к данным в средствах данных SQL Server 2012 в окне диспетчера подключений. Я решил с помощью поста выше.
Если выбрать именованный экземпляр и вы называете его именованным экземпляром SSQDatabase1, а имя вашего компьютера - PCX1. Вы должны ввести PCX1 \ SSQDatabase1, а не просто SSQDatabase1, иначе вы получите ошибку именованных каналов.
источник
Поток в MSDN Social, Re: поставщик именованных каналов, ошибка: 40 - Не удалось открыть соединение с SQL Server , имеется довольно приличный список возможных проблем, связанных с вашей ошибкой. Возможно, вы захотите узнать, может ли кто-то из них быть тем, что вы испытываете.
источник
ip.ip.ip.ip/NamedInstance
?Я только что включил TCP / IP, VIA, Именованные каналы в Sql Server Configuration Manager, Моя проблема была решена, обратитесь к ней для получения дополнительной информации Устранение ошибки именованных каналов 40
источник
Используйте SERVER \\ INSTANCE NAME. Использование двойной обратной косой черты в моем проекте решило мою проблему.
источник
@"server\instance"
или"server\\instance"
должна работать. Если он находится в конфигурационном файле, то вам просто нужен простой текстовый сервер \ экземпляр.Благодаря Дамиану ...
Именованные каналы TCP / IP ... оба включены
Web Config .... (для локального хоста)
источник
Была такая же проблема. Потратил около 6 часов, когда пришлось перенести несколько серверов. Перепробовал все предложения, доступные по этой теме и другие.
Решение было так же просто, как перезагрузить сервер!
источник
в моем случае у меня был автономный сервер, я изменил порт сервера по умолчанию для порта 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 Server, и проблема была решена, и я могу подключиться к серверу SQL из моей локальной студии управления.
источник
У меня такая же проблема. Я использую MSSQL Server Management Studio 2017 и решил эту проблему, выполнив следующие действия:
и исправил это.
источник
Попробуйте следующие шаги:
Откройте окно «Службы» (откройте «окно запуска» и введите services.msc).
Ищем службы SQL (с префиксом SQL).
Запустите их (если не можете начать. Перейти к шагу 4).
Щелкните правой кнопкой мыши по каждому сервису -> Свойства -> Перейдите на вкладку «Вход в систему» -> выберите вход в систему как «Локальный ...» -> 0K. Затем снова запустите службы SQL.
Попробуйте открыть SQL и подключить базу данных.
источник
Скорее всего, вы обнаружите, что имя вашей БД неверно, вы увидите имя сервера в VS как «DESKTOP-0I14BKI», но если вы откроете SSMS, вы увидите DESKTOP-0I14BKI \ SQLBLAHBLAH , просто добавьте « \ SQLBLAHBLAH » (имя экземпляра) ) к вашему "имени сервера" в свойствах подключения VS.
Вы увидите :
Исправить:
источник
TL; DR; Ваш экземпляр SQL Server использует динамические порты, которые не работают. Заставить SQL Server использовать статический порт # 1433.
Полная информация : во-первых, эта проблема более вероятна, если у вас есть смесь по умолчанию и именованного экземпляра или только именованных экземпляров (что было в моем случае).
Основная концепция . Каждый экземпляр Microsoft SQL Server, установленный на компьютере, использует отдельный порт для прослушивания входящих запросов на подключение. Экземпляр SQL Server по умолчанию использует порт № 1433. Когда вы устанавливаете именованные экземпляры, они начинают использовать динамические порты, которые определяются во время запуска службы Windows, соответствующей именованному экземпляру SQL Server.
Мой код не смог (с кодом ошибки 40) соединиться с единственным именованным экземпляром SQL Server, который был у меня на виртуальной машине. Вы можете попробовать ниже возможные решения:
Решение № 1 : Клиентский код, пытающийся подключиться к экземпляру SQL Server, получает справку из службы браузера SQL Server, чтобы определить номер порта, на котором ваш именованный экземпляр прослушивает входящие подключения. Убедитесь, что на вашем компьютере запущена служба браузера SQL.
Решение №2 . Проверьте номер порта (желтым цветом), который использует ваш именованный экземпляр SQL Server, из диспетчера конфигурации SQL Server, как показано на снимке ниже:
Используйте этот номер порта явно в строке подключения или как
sqlcmd
показано ниже:Решение № 3 : Принудительно ваш именованный экземпляр использовать порт № 1433, который используется экземпляром по умолчанию. Помните, что это будет работать, только если у вас нет экземпляра SQL Server по умолчанию на вашем компьютере, поскольку экземпляр SQL Server по умолчанию уже использует порт # 1433. Один и тот же номер порта не может использоваться двумя разными службами Windows.
Пометьте
TCP Dynamic ports
поле как пустое иTCP Port
поле до 1433.Измените номер порта в строке подключения, как показано ниже:
ИЛИ
Примечание . Каждое изменение настроек TCP / IP требует соответствующего перезапуска службы Windows.
Интересно, что после устранения ошибки, когда я вернулся к настройке динамического порта, чтобы воспроизвести ту же ошибку, тогда это не произошло. Не уверен почему.
Пожалуйста, прочитайте ниже интересные темы, чтобы узнать больше о динамических портах SQL Server:
Как настроить порт SQL Server на нескольких экземплярах?
Когда динамический порт является «динамическим»?
Когда использовать динамический порт TCP, а когда - порт TCP?
Я получил приводит к решению моей проблемы из этого блога.
источник
В моем случае я открыл SQL Server Management Studio и искал SQLEXPRESS в своей базе данных. У него было два экземпляра, и я выбрал правильный.
источник
Если вы работаете с ядром Asp.net и используете appsettings.json, тогда пишите сервер в качестве локального хоста и после записи имени экземпляра sql для включенного именованного канала, как это
источник
Очень простое решение
использовать
(local)\InstanceName
это все. это сработало для меня.источник
Если вы попытались перезапустить службу MSSQLSERVER, но она не сработала, это может быть решением:
Если вы используете SQLExpress, вашим именем сервера должно быть следующее имя компьютера \ SQLExpress. Тем не менее, для SQLDeveloper вам не нужно правый SQLDeveloper после вашего ComputerName.
источник
После выполнения всех упомянутых здесь шагов , если он все еще не подключается, попробуйте добавить DNS с IP-адресом в файл hosts в папке etc. Добавление IP-адреса вместо DNS-имени в строку подключения должно быть временным решением для проверки, действительно ли работает соединение.
источник
Я гарантировал и сделал вышеупомянутое также, и я просто хочу поделиться, что ДВОЙНОЙ БАКСЛАШ
oBuilder.DataSource = "SPECIFICPCNAME \ SQLEXPRESS";
Использование SINGLE BACKSLASH привело к ошибке сборки, т.е.: Ошибка 1 Нераспознанная escape-последовательность
Я надеюсь, что это поможет следующему парню - я пожертвовал ужином, полуночной закуской и NBA выделяет время для решения этой проблемы (позор)
Благодаря [Тамиж Вентхан] ^ _ ^
источник
Включите TCP / Ip, Piped Protocol, перейдя в «Управление компьютером» -> «SQL и службы», убедитесь, что служба включена. Enbale порт на брандмауэре. Попробуйте войти через командную строку -> как администратор; последнее имя пользователя должно быть (локально) \ SQLEXPRESS. Надеюсь это поможет.
источник
Откройте диспетчер конфигурации SQL Server
источник
У меня была та же проблема, и я решил ее, отключив брандмауэр (ESET).
Первым шагом для решения этой проблемы должна быть попытка пропинговать ваш собственный компьютер с другого компьютера. Если у вас включен брандмауэр, вы не сможете пинговать себя. Я попытался пропинговать мой собственный компьютер, но затем ping не удался (не получил ответ от сервера)
источник
Я предложил ниже шаги для решения вашей проблемы Как я могу исправить ошибку «Поставщик именованных каналов, ошибка 40 - Не удалось открыть соединение с« SQL Server »
источник
Я пытался добавить новое соединение в VS2015. Ни одно из предложений здесь не сработало. Подозревая какую-то ошибку в мастере, особенно из-за того, что SSMS могла нормально подключаться, я решил попробовать и обмануть. Это сработало!
Вместо добавления соединения используйте «Создать новую базу данных SQL Server». Введите имя вашего сервера и случайное имя для новой БД, например, «тест».
Предполагая, что это успешно, откройте Server Explorer в VS, найдите соединение в Data Connections, щелкните его правой кнопкой мыши и выберите Modify Connection.
Измените «test» (с шага 1) на имя существующей базы данных, к которой вы хотите подключиться. Нажмите «Проверить соединение». На этот раз это должно сработать!
Удалите временную базу данных, созданную на шаге 1.
источник
У меня есть еще одно решение, я думаю. Я недавно сменил имя своего компьютера так, после того, как я не смог подключиться после того, как попробовал все вышеперечисленные методы. Я изменил имя сервера .. Имя сервера => (найдите больше) => в ядре базы данных, новый сервер был найден так же, как новое имя компьютера. Это сработало, и жизнь снова стала хорошей.
источник
Я боролся с этим целую вечность, прежде чем понял свою ошибку - я использовал запятые вместо точек с запятой в строке подключения
источник
У меня была эта проблема, но ни одно из предложенных выше предложений не устранило ее.
Я видел эту проблему, когда я развернул свой веб-сайт в IIS. Исправление состояло в том, чтобы перейти к дополнительным настройкам пула приложений по умолчанию и изменить свойство удостоверения со стандартного на Администратор.
источник
Для меня это была проблема с брандмауэром.
Сначала вы должны добавить порт (например, 1444 и, возможно, 1434), но также
и
Второй раз, когда я получил эту проблему, когда я вернулся к брандмауэру, пути были неправильными, и мне нужно было обновить форму с 12 по 13! Простое нажатие на кнопку обзора на вкладке «Программы и сервисы» помогло понять это.
Наконец, попробуйте запустить команду
Для меня вернулась причина ошибки
источник
Я попробовал почти все на этой странице, но у меня были некоторые проблемы, которые на самом деле нужно было решить. Я не смог сделать некоторые вещи, такие как открыть Диспетчер конфигурации SQL Server, который в конечном итоге был поврежден / пропал файлы поставщика WMI.
Есть много утомительных способов решить эту проблему в соответствии с тем, что я прочитал, но инструмент tweaking.com смог удалить и заменить / исправить мои файлы поставщика WMI (инструментария управления Windows).
Раньше я занимался ремонтом компьютеров, и в целом инструмент tweaking.com действительно произвел на меня впечатление, и это было предложено на одной из страниц форума ошибок WMI, на которую я зашел.
После устранения этой проблемы я смог подключиться к своей базе данных SQL как локально, так и удаленно.
Надеюсь, это кому-нибудь поможет.
источник