SQL - wystąpił błąd podczas uzgadniania przed logowaniem


15

Do wczoraj wieczorem byłem w stanie połączyć się z moim serwerem z mojego komputera lokalnego. Teraz pojawia się następujący błąd:

Połączenie z serwerem powiodło się, ale wystąpił błąd podczas uzgadniania przed logowaniem. (dostawca: dostawca SSL, błąd: 0 - Upłynął limit czasu operacji oczekiwania.) (.Net SqlClient Data Provider)

Uwaga: bez problemu mogę zalogować się na rzeczywistym serwerze.

Wczoraj zainstalowałem IIS na moim komputerze i skonfigurowałem witrynę przy użyciu mojego adresu IP - nie wiem, czy to ma coś wspólnego.

Natknąłem się na ten artykuł, podążyłem za krokami, ale chyba nie pomogłem.

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

Przejrzałem również następujący artykuł, zmieniłem ustawienia TC / IP, uruchomiłem ponownie, ale nic.

http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a-connection-to-sql- server-microsoft-sql-server-error /

Zacząłem też wypróbowywać sugestie z komentarzy, ale przestałem, gdy zdałem sobie sprawę, że mogę coś więcej zepsuć.

Dlaczego tak się dzieje / jak mogę to naprawić?


Jaka to wersja SQL Server? Jak próbujesz połączyć się z maszyną SQL; za pomocą SQL Server Management Studio lub opracowanej aplikacji itp.? Czy próbowałeś zrestartować usługę SQL Server i serwer?
Max Vernon

Serwer to 2008, mój lokalny sql to 2012. Wypróbowałem go przez opracowaną przeze mnie aplikację, a także SSMS. Zrestartowałem usługę Sql na moim komputerze, ale nie zrestartowałem rzeczywistego serwera (wpłynie to na produkcję, jest to tylko problem z moim lokalnym połączeniem SQL).
Rivka

Czy jest to domyślna instancja SQL? Jeśli tak, uruchom netstat -aoi potwierdź, że port 1433 nasłuchuje, a PID należy do narzędzia sqlservr.exe. Jeśli nasłuchuje, sprawdź, czy protokół TCP / IP jest włączony dla adresu IP, z którym faktycznie się łączysz w programie SQL Server Configuration Manager (jak pokazał Max, ale także otwórz właściwości TCP / IP i upewnij się, że poprawny adres IP jest włączony).
Chris McKeown,

Patrząc na właściwości usługi, mój komputer ma SQLEXPRESS, a nie 2012. To był SSMS, który był 2012 (co prawdopodobnie nie ma znaczenia?). @ChrisMcKeown - nie widzę tam 1433 wymienionych. Jaki powinien być również adres IP? Mój lokalny Dzięki chłopaki, przepraszam, że zmieniłem tutaj zmienne.
Rivka

1
Ponadto, jeśli spojrzysz na dzienniki błędów SQL, możesz także sprawdzić, na jakim porcie nasłuchuje: 2012-09-04 09: 12: 58.74 Serwer Serwer nasłuchuje na [127.0.0.1 <ipv4> 64746].
shiitake

Odpowiedzi:


5

W mojej sytuacji miałem filtr treści / proxy o nazwie Covenant Eyes, który był prawdopodobną przyczyną.

Próbowałem naprawić instalację programu SQL Server 2012, ale zawiesił instalację i nadal nie rozwiązał problemu. Gdy tylko wygenerowałem kod odinstalowujący i odinstalowałem filtr, mogłem się połączyć; Nie musiałem nawet restartować się.

Sprawdź proxy i filtry zawartości na komputerze i wyłącz je!


ŁAŁ. To było dawno temu, ale zrobiliśmy i nadal mamy Covenant Eyes zainstalowane na naszych maszynach.
Rivka

Powiadomię ich o moim problemie ... może używają starej wersji .NET? Oto wpis na forum: gsfn.us/t/3s4ti
Watki02

7

Proponowana tutaj odpowiedź: http://social.msdn.microsoft.com/Forums/en-US/vssetup/thread/2d11b6f9-3ada-4682-b643-c721a97af4ba

Masz problem? Nie wiem, czy obchodzi cię, czym jest Winsock, czy którykolwiek z tych badziewnych poziomów.

Przejdź do wiersza polecenia

Zrób to

netsh Winsock reset

kontynuuj swoje życie i bądź szczęśliwy.


Uwaga, to nie rozwiązało mojego problemu ... ale zrobiło to dla kilku innych.
Watki02

Dziękuję Watki02, twoje odpowiedzi (netsh Winsock reset) pomagają mi rozwiązać ten problem dla aplikacji clickOnce VB.Net rozwijanej w VS2010. System operacyjny Vista z .Net 4.5, w celu ustanowienia zdalnego połączenia DB z Sql 2005 express edition do SQL 2005 Server.

Dzięki, pomogło mi to, nie wiem co to znaczy :)
Ilya Chernomordik

Działa jak urok i tak szybko !!!
Jeff Tian

3

W mojej konkretnej konfiguracji korzystałem z przechowywania danych sesji w niestandardowej bazie danych, miałem również dane zaszyfrowane (Encrypt = True) za pomocą ciągu połączenia, co usunęło problem!

Podejrzewam jednak, że w rezultacie dane nie są szyfrowane ssl, nie stanowi to większego problemu, dopóki nie dodamy więcej serwerów WWW!



0

Otwórz SQL Server Configuration Manager i upewnij się, że usługa SQL Server jest uruchomiona:

SQL Server Menedżer konfiguracji - usługi

i skonfigurowany tak, aby umożliwić połączenia TCP / IP:

SQL Server Menedżer konfiguracji - konfiguracja sieci


Dzięki, próbowałem już tego.
Rivka

0

Ten błąd wystąpił po instalacji programu, który zmienia ustawienia protokołu internetowego komputera. Ostatnio dostałem ten sam problem po instalacji internetowego menedżera pobierania, ponieważ IDM zmienił ustawienia IP, że pojawia się błąd, więc po odinstalowaniu IDM z mojego komputera i ponownym uruchomieniu komputera rozwiązuje problem.

Dlatego odinstaluj dowolną aplikację, która zmieniła ustawienia protokołu internetowego, np. Internetowy menedżer pobierania.


0

Czasami ten błąd pojawia się z powodu przeciążenia połączeń na SQL Server. Więc po prostu zmień DB na Single User i ponownie zmień na Multi user.

Lub po prostu wykonaj to zapytanie.

użyj master ALTER DATABASE nazwa_bazy danych SET SINGLE_USER Z ROLLBACK NATYCHMIAST ALTER DATABASE nazwa bazy danych SET MULTI_USER

To rozwiązało mój problem. :) Cieszyć się..!!


0

Żadne z tych rozwiązań nie działało dla mnie. To, co zadziałało, było następujące:

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

  • W SQL Server Configuration Manager

  • Wybierz SQL Server Services

  • Znajdź problematyczną usługę i wyświetl Właściwości

  • Na karcie Logowanie zmień opcję „Konto wbudowane” na „Usługa sieciowa”

Oświadczenie: To było na moim lokalnym komputerze deweloperskim, więc nie miałem żadnych obaw związanych z bezpieczeństwem.


0

Ten problem może być związany z zaporą w środku, która przeprowadza kontrolę SSL.

Sugeruję, abyś spróbował ponownie użyć innego połączenia nie przeprowadzającego kontroli SSL lub poprosił administratora zapory o utworzenie wyjątku dla źródła i / lub miejsca docelowego, z którym się łączysz,

Twoje zdrowie!


0

Otrzymałem ten komunikat o błędzie na każdej stacji roboczej próbującej połączyć się z SQL. Wszystkie komputery są podłączone do domeny. Aby rozwiązać ten problem, wykonałem:

1) Utwórz nazwę domian \ nazwa użytkownika jako login w SQL Management Studio użytkownika logującego się na stacji roboczej. 2) TLS 1.0 również uniemożliwiał ten dostęp. Transport Layer Security TLS to protokół kryptograficzny używany do ustanowienia bezpiecznego kanału komunikacji między dwoma systemami. Służy do uwierzytelniania jednego lub obu systemów oraz ochrony poufności i integralności informacji przekazywanych między systemami.

W rejestrze obu komputerów poszliśmy do \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ TLS 1.0 \ Server. Zamieniamy wartości w dwóch podkluczach.
Po ponownym uruchomieniu przetestowałem ponownie i udało mi się nawiązać połączenie.


-2

Mieliśmy ten sam problem. Sprawdziliśmy wszystko, w tym połączenia ping, telnet i RDP, i wreszcie zdaliśmy sobie sprawę, że zaczęło się to dziać po zmianie trasy przez naszego dostawcę usług internetowych. Po zmianie trasy zaczął działać.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.