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, и она потерпела крах установки, но проблема так и не была устранена. Как только я сгенерировал код удаления и удалил фильтр, я смог подключиться; Мне даже не пришлось перезагружаться.

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

Watki02
источник
ВАУ. Это было некоторое время назад, но мы установили и по-прежнему установили 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
Спасибо 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

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

user2490234
источник
0

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

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

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

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

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

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

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

Arkiliknam
источник
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. Мы поменяем значения в двух подразделах.
После перезагрузки я снова проверил и смог успешно установить соединение.

user552404
источник
-2

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

satishpeta
источник