Я только что установил SQL Server Express 2012 на свой домашний сервер. Я пытаюсь подключиться к нему из Visual Studio 2012 с настольного компьютера и постоянно получаю известную ошибку:
При установлении соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений. (поставщик: поставщик именованных каналов, ошибка: 40 - не удалось открыть соединение с SQL Server)
Что я сделал, чтобы попытаться это исправить:
- Запустите диспетчер конфигурации SQL Server на сервере и включите браузер SQL Server.
- Добавьте исключение брандмауэра Windows на сервере для TCP, порты 1433 и 1434 в локальной подсети.
- Убедитесь, что у меня есть логин на экземпляре SQL Server для пользователя, на котором я вошел как на рабочем столе.
- Убедитесь, что я использую проверку подлинности Windows на экземпляре SQL Server.
- Повторно перезапустите SQL Server и весь чертов сервер.
- Вытяни все мои волосы.
Как я могу получить SQL Server 2012 Express для разрешения удаленных подключений !?
Ответы:
Хорошо, рад, что спросил . Решение, которое я наконец обнаружил, было здесь:
Как мне настроить SQL Server Express, чтобы разрешить удаленные соединения tcp / ip через порт 1433?
Пока все хорошо и вполне ожидаемо. Но потом:
(Кроме того, если вы выполните эти шаги, нет необходимости включать браузер SQL Server, и вам нужно только разрешить порт 1433, а не 1434.)
Эти дополнительные пять шагов - это то, что я не могу вспомнить, когда-либо приходилось делать в предыдущей версии SQL Server, Express или иным образом. Похоже, они были необходимы, потому что я использую именованный экземпляр (myservername \ SQLEXPRESS) на сервере вместо экземпляра по умолчанию. Посмотреть здесь:
Настройка сервера для прослушивания определенного порта TCP (диспетчер конфигурации SQL Server)
источник
IPAll
установка была советом спасителя! Мой был как твой ...: Dmyserver\sqlexpress,[portnumber]
без скобок. Заметьте, есть,
и нет:
Правильный способ подключения к удаленному SQL Server (без открытия UDP-порта 1434 и включения браузера SQL Server) заключается в использовании ip и порта вместо именованного экземпляра .
Использование ip и порта вместо именованного экземпляра также безопаснее, так как уменьшает площадь атаки.
Возможно, 2 картины говорят 2000 слов ...
Этот метод использует указанный порт (это то, что большинство людей хотят, я верю) ..
Этот метод требует открытия UDP-порта 1434 и запуска браузера SQL Server.
источник
Еще кое-что...
Kyralessa предоставляет отличную информацию, но я хочу добавить еще одну вещь, в которой я был озадачен даже после этой статьи.
Под Сетевой конфигурацией SQL Server> Протоколы для Сервера> TCP / IP Включен. Щелкните правой кнопкой мыши TCP / IP и выберите свойства. Под IP-адресами необходимо установить для параметра «Включено» значение «Да» для каждого используемого вами типа подключения.
источник
Вы можете использовать это, чтобы решить эту проблему:
Перейдите в START> EXECUTE и запустите CLICONFG.EXE.
Протокол Named Pipes будет первым в списке. Удалите его и продвигайте TCP / IP.
Протестируйте приложение тщательно.
Я надеюсь, что это поможет.
источник
Вы также можете установить
в диалоговом окне протокола, затем в IP-адрес IP1 (скажем)
источник
Эта статья помогла мне ...
Как включить удаленные подключения в SQL Server
Все в SQL Server было настроено, моя проблема была в том, что брандмауэр блокировал порт 1433
источник
У меня была эта проблема недавно. 2015 авг
Решается открытием диспетчера конфигурации SQL Server
Можно подключиться с помощью диспетчера SQL Server к машине: [hostaddress], 1433
Пример:
источник
При моей установке SQL Server 2012 Developer Edition, установленной с настройками по умолчанию, мне просто нужно было загрузить Диспетчер конфигурации SQL Server -> Конфигурация сети SQL Server -> Протоколы для MSSQLSERVER и изменить TCP / IP с Отключено на Включено.
источник
Мне пришлось добавить правило входящего порта брандмауэра, чтобы открыть UDP-порт 1434. Это тот, который прослушивает Sql Server Browser.
источник
Я предпочитаю способ «Росди Касим», так как он не требует детальной настройки IP.
Я обязательно забуду это снова, когда попробую снова запустить другой сервер.
Делайте это просто глупо (KISS), просто включите службу браузера Sql Server, затем добавьте \ SQLEXPRESS за IP-адресом при подключении к серверу.
Прямое использование IP без "\ SQLEXPRESS" было моей точкой отказа, поскольку он не использует порт по умолчанию.
Спасибо.
источник
У меня была такая же проблема с SQL Server 2014 локально установленным именованным экземпляром. Подключение с использованием
FQDN\InstanceName
не удастся, а подключение с использованием только моейhostname\InstanceName
работало. Например: подключение с помощьюmycomputername\sql2014
сработало, а с помощью -mycomputername.mydomain.org\sql2014
нет. DNS разрешен правильно, TCP / IP был включен в SQL Configuration Manager, добавлены правила брандмауэра Windows (а затем отключил брандмауэр для проверки, чтобы убедиться, что он ничего не блокирует), но ни один из них не устранил проблему.Наконец, мне пришлось запустить службу « SQL Server Browser » на SQL Server, и это решило проблему с подключением.
Я никогда не осознавал, что служба браузера SQL Server действительно помогает SQL Server устанавливать соединения; У меня сложилось впечатление, что это просто помогло заполнить выпадающие списки, когда вы нажали кнопку «искать больше» для подключения к серверам, но на самом деле помогает выровнять запросы клиентов с правильным номером порта # для использования, если порт № не назначен явно (аналогично как привязки веб-сайтов помогают устранить ту же проблему на веб-сервере IIS, на котором размещены несколько веб-сайтов).
Этот элемент подключения дал мне подсказку о службе браузера SQL Server: https://connect.microsoft.com/SQLServer/feedback/details/589901/unable-to-connect-on-localhost-using-fqdn-machine- имя
Причина службы «Браузер SQL Server» от TechNet (выделено мной): https://technet.microsoft.com/en-us/library/ms181087(v=sql.120).aspx
Из раздела «Использование браузера SQL Server»:
И больше информации из той же статьи из раздела «Как работает браузер SQL Server»:
источник
Мне пришлось добавить порт через Configuration Manager и добавить номер порта в моем подключении sql [хост] \ [имя экземпляра БД], 1433
Обратите внимание, (запятая) между именем экземпляра и портом
источник
У меня была проблема, отличная от тех, что упоминались до сих пор!
Я должен начать с того, что у меня это было в Visual Studio, а не в SQL Server Express, но решение должно быть точно таким же.
Ну, боже, это на самом деле очень просто и, возможно, немного глупо. Когда я попытался создать базу данных, и Visual Studio предложила имя SQL Server, оно дало мне мое имя пользователя Windows, и, поскольку это фактически имя сервера, я выбрал его.
На самом деле это было мое имя пользователя Windows
\SQLEXPRESS
. Если вы не меняли никаких настроек, возможно, это тоже ваше. Если это работает, прекратите читать; это мой ответ Если это не работает, возможно, имя другое.Если, как и я, у вас была эта проблема только в Visual Studio, чтобы проверить, что у вас, выполните следующие действия:
Это имя сервера, и это то, что вы должны попытаться подключиться! не то, что предлагает Visual Studio!
источник
Еще одна вещь, которую нужно проверить, это то, что вы правильно написали именованный экземпляр!
Эта статья очень полезна для устранения проблем с подключением: Как устранить неполадки подключения к ядру базы данных SQL Server
источник
В моем случае база данных работала на нестандартном порту. Убедитесь, что порт, к которому вы подключаетесь, совпадает с портом, на котором работает база данных. Если есть больше экземпляров сервера SQL, проверьте правильный.
источник
Все, что вам нужно сделать, это открыть соответствующий порт на брандмауэре сервера.
источник
Возникли проблемы с подключением к SQL Server?
Попробуйте отключить брандмауэр.
Если вы можете соединиться с отключенным брандмауэром, возможно, вы пропустили некоторые правила ввода, такие как «sql service broker», добавьте эти правила ввода в ваш брандмауэр:
TCP ADMIN CONNECTION TCP PORT 1434
«SQL ADMIN CONNECTION» UDP-порт 1434
«СЕРВИС АНАЛИЗА SQL» TCP-ПОРТ 2383
«СЛУЖБА АНАЛИЗА SQL BROWSE» TCP-ПОРТ 2382
«SQL DEBUGGER / RPC» TCP PORT 135
«SQL SERVER» TCP PORT 1433 и другие, если у вас динамические порты
"SQL SERVICE BROKER" TCP-ПОРТ 4022
источник