SQL - во время рукопожатия перед входом произошла ошибка


15

До вчерашнего вечера я мог подключаться к своему серверу с моей локальной машины. Теперь я получаю следующую ошибку:

Соединение с сервером было успешно установлено, но во время рукопожатия перед входом в систему произошла ошибка. (поставщик: поставщик SSL, ошибка: 0 - истекло время ожидания операции ожидания.) (поставщик данных .Net SqlClient)

Обратите внимание, я могу войти на реальный сервер без проблем.

Вчера я установил IIS на свою машину и настроил сайт, используя мой IP-адрес - не знаю, имеет ли это какое-либо отношение.

Я наткнулся на эту статью, следовал инструкциям, но, похоже, не помог.

http://escapekeys.com/microsoft-sql-server-error-64-a-connection-was-successfully-established-with-the-server/89

Я также прошел следующую статью, изменил настройки TC / IP, перезапустил, но ничего.

http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a-connection-to-sql- сервера Microsoft-SQL-сервер ошибки /

Я тоже начал пробовать предложения по комментариям, но прекратил, когда понял, что могу все испортить.

Итак, почему это происходит / как я могу это исправить?


Какая версия SQL Server это? Как вы пытаетесь подключиться к машине SQL; с помощью SQL Server Management Studio или разработанного вами приложения и т. д.? Вы пытались перезапустить службу SQL Server и сервер?
— Макс Вернон

Сервер 2008, мой локальный sql 2012. Пробовал через приложение, которое я разработал, а также SSMS. Перезапустил службу Sql на моей машине, но не перезапустил реальный сервер (это также повлияет на работу, это проблема только с моим локальным соединением SQL).
— Ривка

Это экземпляр SQL по умолчанию? Если это так, запустите netstat -aoи убедитесь, что порт 1433 прослушивает и что PID принадлежит sqlservr.exe. Если он прослушивает, убедитесь, что TCP / IP включен для IP-адреса, к которому вы фактически подключаетесь в SQL Server Configuration Manager (как показал Макс, но также откройте свойства TCP / IP и убедитесь, что правильный IP-адрес включен).
— Крис Мак-

Если посмотреть на свойства службы, то на моей машине установлен SQLEXPRESS, а не 2012. Это был SSMS в 2012 году (что, вероятно, не имеет значения?). @ChrisMcKeown - не вижу 1433 перечисленных там. Кроме того, каким должен быть IP-адрес? Мой местный? Спасибо, ребята, извините за переключение переменных здесь.
— Ривка

1
Также, если вы посмотрите журналы ошибок SQL, вы также можете узнать, какой порт он прослушивает: 2012-09-04 09: 12: 58.74 Сервер Сервер прослушивает [127.0.0.1 <ipv4> 64746].
— Шиитаке

Ответы:


5

В моей ситуации у меня был контент-фильтр / прокси под названием Covenant Eyes, который был вероятной причиной.

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

Проверьте прокси и фильтры содержимого на машине и отключите их!


ВАУ. Это было некоторое время назад, но мы установили и по-прежнему установили Covenant Eyes на наших машинах.
— Ривка

Я собираюсь сообщить им о моей проблеме ... может быть, они используют старую версию .NET? Вот запись на форуме: gsfn.us/t/3s4ti
— Watki02

7

Ответ изложен здесь: http://social.msdn.microsoft.com/Forums/en-US/vssetup/thread/2d11b6f9-3ada-4682-b643-c721a97af4ba

Надоело проблемы? Не знаю или не волнует, что такое winsock или что-то из этого дерьма низкого уровня.

Перейти к командной строке

сделай это

netsh Winsock reset

продолжай свою жизнь и будь счастлив.


Обратите внимание, это не решило мою проблему ... но это помогло нескольким другим.
— Watki02

Спасибо Watki02, ваши ответы (netsh Winsock reset) помогают мне решить эту проблему для приложения VB.Net clickOnce, разработанного в VS2010. Операционная система Vista с .Net 4.5 для установки удаленного подключения к БД из Sql 2005 Express Edition для SQL 2005 Server.

Спасибо, это помогло мне, хотя я не знаю, что это значит :)
— Илья Черномордик

Работает как шарм и так быстро !!!
— Джефф Тиан

3

В моей конкретной установке я использовал хранение данных сеанса в пользовательской базе данных, у меня также были зашифрованные данные (Encrypt = True) через строку подключения, устранение этого устранило проблему!

Однако я подозреваю, что в результате данные не зашифровываются по протоколу ssl, но это не большая проблема, пока мы не добавим больше веб-серверов!


1

Я сделал восстановление системы и теперь могу подключиться.


0

Откройте диспетчер конфигурации SQL Server и убедитесь, что служба SQL Server работает:

Диспетчер конфигурации SQL Server - службы

и настроен для разрешения соединений TCP / IP:

Диспетчер конфигурации SQL Server - Конфигурация сети


Спасибо, попробовал, хотя уже.
— Ривка

0

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

Поэтому удалите любое приложение, которое изменило настройки интернет-протокола, например, диспетчер загрузки через Интернет.


0

Иногда эта ошибка возникает из-за перегрузки соединений на SQL Server. Так что просто измените вашу БД на Однопользовательский и снова измените его на Многопользовательский.

Или просто выполните этот запрос.

использовать мастер ALTER DATABASE DatabaseName SET SINGLE_USER WITH ROLLBACK НЕМЕДЛЕННЫЙ ALTER DATABASE DatabaseName SET MULTI_USER

Это решило мою проблему. :) Наслаждаться..!!


0

Ни одно из этих решений не помогло мне. То, что работало, было следующим:

/programming/3270199/a-connection-was-successfully-established-with-the-server-but-then-an-error-occ/44703629#44703629

  • В диспетчере конфигурации SQL Server

  • Выберите службы SQL Server

  • Найдите проблемный сервис и просмотрите свойства

  • На вкладке «Вход в систему» ​​измените «Встроенная учетная запись» на «Сетевая служба»

Отказ от ответственности: это было на моем локальном ПК разработчика, поэтому у меня не было проблем с безопасностью при этом.


0

Эта проблема может быть связана с межсетевым экраном в середине, который выполняет проверку SSL.

Я предлагаю вам либо повторить попытку, используя другое соединение без проверки SSL, либо попросить администратора брандмауэра создать исключение для источника и / или назначения, к которому вы подключаетесь,

Ура!


0

Я получал это сообщение об ошибке на каждой рабочей станции, пытающейся подключиться к SQL. Все компьютеры подключены к домену. Что я сделал, чтобы решить эту проблему:

1) Создайте domian \ user name в качестве имени входа в SQL Management Studio, когда пользователь входит в систему на рабочей станции. 2) TLS 1.0 также предотвращал этот доступ. TLS - это криптографический протокол, используемый для установления безопасного канала связи между двумя системами. Он используется для аутентификации одной или обеих систем, а также для защиты конфиденциальности и целостности информации, которая передается между системами.

В реестре обоих компьютеров мы перешли на \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ TLS 1.0 \ Server. Мы поменяем значения в двух подразделах.
После перезагрузки я снова проверил и смог успешно установить соединение.


-2

У нас была такая же проблема. Мы проверили все, включая ping, telnet и RDP, и наконец поняли, что это начало происходить после того, как наш провайдер изменил маршрут. После изменения маршрута он начал работать.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.