Соединение с сервером было успешно установлено, но во время рукопожатия перед входом в систему произошла ошибка - PullRequest
97 голосов
/ 17 июля 2010

При попытке подключиться к производственной БД из локальной среды я получаю следующую ошибку.

Ранее я мог подключиться к производственной БД, но вдруг я получаю следующую ошибку, есть идеи?

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

Я пытался запустить сайт asp.net на локальном ПК, на котором есть строка соединения с производственной БД, ниже - трассировка стекаЯ получаю сообщение об ошибке в локальной среде.

на MyWebsiteDAL.clsForumQuestion.SelectAll (Int32 CurrentPageIndex, Int32 PageSize) в D: \ EDrive \ Мои веб-сайты \ MyWebsite \ MyWebsite \ MyWebsiteDAL \ clsForumQuestion.cs:строка 821 в CodeConnect.Default.Page_Load (Отправитель объекта, EventArgs e) в D: \ EDrive \ Мои веб-сайты \ MyWebsite \ MyWebsite \ MyWebsite \ Default.aspx.cs: строка 100 в System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr)fp, Object o, Object t, EventArgs e) в System.Web.Util.CalliEventHandlerDelegateProxy.Callback (отправитель объекта, EventArgs e) в System.Web.UI.Control.OnLoad (EventArgs e) в System.Web.UI.Control.LoadRecursive () в System.Web.UI.Page.ProcessRequestMain (логическое значение includeStagesBeforeAsyncPoint, логическое значение includeStagesAfterAsyncPoint)

Любая идея, что можетздесь не так?

Ответы [ 17 ]

1 голос
/ 03 февраля 2016

Я получал точно такую ​​же проблему без изменений в базе кода или серверах. Оказалось, что сервер БД работал на 100% ЦП, а у SQL Server не хватало времени ЦП, что вызвало тайм-аут.

1 голос
/ 26 августа 2013

Я перезапустил Службу SQL Server (Sharepoint) , и это решило проблему.

1 голос
/ 10 января 2013

У меня была такая же проблема, и мне не повезло с предлагаемыми исправлениями.Затем я наткнулся на эту статью и увидел комментарий Мирра относительно программы под названием Sendori, блокирующей LSP.Понятия не имею, как он попал на мой компьютер, но он был там, и удаление его решило проблему.

Если статья не работает, просто проверьте ваши Программы и удалите Sendori, если вы его видите.

0 голосов
/ 08 ноября 2017

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

enter image description here

0 голосов
/ 22 июня 2017

Та же самая проблема здесь, и никакие ответы, перечисленные здесь, не работали, ни какие-либо решения, которые я мог найти онлайн.Эта проблема возникла вскоре после того, как на моем компьютере-разработчике появилось годовое обновление Windows 10, которое коснулось только моего старого экземпляра SQL Server 2005.Мне не удалось подключиться к экземпляру через мои веб-приложения или даже с помощью Sql Management Studio.

Для чего это стоит, это то, что решило его для меня:

  1. Откройте диспетчер конфигурации SQL Server (в зависимости от используемой версии SQL Server):

    • C: \ Windows \ SysWOW64 \ SQLServerManager.msc
    • C: \ Windows \ SysWOW64 \ SQLServerManager10.msc ИЛИ
    • C: \ Windows \ SysWOW64 \ SQLServerManager12.msc ИЛИ
    • и т. Д.
  2. Выберите службы SQL Server

  3. Найдите проблемную службу и просмотрите свойства

    • , например, SQL Server (SQL2005) в моем случае
  4. На вкладке «Вход в систему» ​​измените «Встроенная учетная запись» на «Сетевая служба»

Это почти то, что говорило это случайное решение: http://www.kutayzorlu.com/operating-systems/linux-unix-redhat-debian-ubuntu-opensuse-centos/general-server-administrating/error-fixed-a-connection-was-successfully-established-with-the-server-but-then-an-error-occurred-during-the-pre-login-handshake-12405.html

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

0 голосов
/ 03 октября 2012

Была такая же проблема, причиной которой была библиотека BCrypt.Net, скомпилированная с использованием платформы .NET 2.0, тогда как весь проект, который ее использовал, компилировался с .NET 4.0. Если симптомы совпадают, попробуйте загрузить исходный код BCrypt и перестроить его в конфигурации выпуска в .NET 4.0. После того, как я это сделал, «рукопожатие перед входом в систему» ​​работало нормально. Надеюсь, это кому-нибудь поможет.

0 голосов
/ 24 октября 2014

Я столкнулся с этой ошибкой и сделал все предложения от вас, ребята, но ни одно из них не повлияло на мою ошибку.

Я поймал виновника: если вы используете файл *.ini для своей системы, вы можете проверить, какое имя сервера было введено там, и убедиться, что оно совпадает с именем в строке подключения web.config.

...